On Mon, Jun 28, 2021 at 5:23 PM Rick Macklem <rmack...@uoguelph.ca> wrote: > > The Linux NFS client now has a mount option "nconnect", > which specifies that multiple TCP connections be created > for an NFS mount, where RPCs are done on the connections, > in a round robin fashion. (Alternating between the two TCP > connections for the case of nconnect=2.) > > The Linux man page says: > nconnect=n > When using a connection oriented protocol such as TCP, it > may sometimes be advantageous to set up multiple > connections between the client and server. For instance, > if your clients and/or servers are equipped with multiple > network interface cards (NICs), using multiple connections > to spread the load may improve overall performance. In > such cases, the nconnect option allows the user to specify > the number of connections that should be established > between the client and server up to a limit of 16. > > I don't understand how multiple TCP connections to the same > server IP address will distribute the load across multiple network > interfaces? > I thought that lagg would have handled this? > > I could easily implement this, but I only have low end hardware > to test on, so I doubt that I will see any performance improvement.
Pretty much all modern NICs are multiqueue and multiple connections will distribute load across CPUs even without any lagg. I think an nconnect like option would be quite useful for NFS over high bandwidth links as it's a lot easier to saturate the pipe using multiple connections than a single one. Regards, Navdeep