Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Aug 2007 11:33:22 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        freebsd-fs@freebsd.org
Subject:   multiplexing TCP sockets in the NFS client
Message-ID:  <Pine.GSO.4.63.0708101121080.25743@muncher>

next in thread | raw e-mail | index | archive | help
Long long ago, I felt it might be better to use a separate TCP socket
for each mount to the same server. The argument was along the lines of:

 	Some mounts might be much busier than others and, as such, the
 	separate TCP socket would provide feedback to the client w.r.t.
 	load on that mount. The assumption w.r.t. busier mount points
 	tacitly assumed separate disks with some disks experiencing
 	heavy I/O loads.

It seems to me that these days, what with SANs, RAIDs, GEOM,... that a
mount point probably isn't going to reflect a different disk subsystem
so much as an administrative boundary. Also, it's not obvious that the
feedback argument is relevant anyhow, since clients will still receive
replies when the server gets around to doing the RPC, in any case.

So, I'm thinking that it might be better to change the client code so that
it shares one TCP connection between all mounts to the same server. This
reduces the number of TCP connections (possibly an issue if clients use
an automounter to do a lot of mounts). It might also help w.r.t transport
performance by increasing the volume of data being transferred on the TCP
connection? (I don't know enough about current TCP stacks to know if this
is the case or not?)

Any comments? rick




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.63.0708101121080.25743>