Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 2021 20:40:44 -0700
From:      Navdeep Parhar <np@freebsd.org>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: RFC: NFS trunking (multiple TCP connections for a mount
Message-ID:  <CAPFoGT-rJJo=kqXcGnsAa_fw1ORGh-KVtSGmisdo20T3AHomSQ@mail.gmail.com>
In-Reply-To: <YQXPR0101MB0968DC173855A82AAF45F08FDD039@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References:  <YQXPR0101MB0968DC173855A82AAF45F08FDD039@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 28, 2021 at 5:23 PM Rick Macklem <rmacklem@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPFoGT-rJJo=kqXcGnsAa_fw1ORGh-KVtSGmisdo20T3AHomSQ>