I have searched through the mail lists and google and have not found
material describing the nfs file open threshold effect that I am
experiencing.
I have been experimenting with opening files on NFS mounts over varying
network latencies. I notice that there seems to be a threshold on the
number of concurrent nfs file opens as network latency increases. Up to
and including the threshold, nfs file open performance is fine. After the
threshold of concurrent opens, performance degrades at a linear rate.
For example, the graph in the
http://ahowe_ca.tripod.com/nfsperformance.pdf
shows this threshold effect for various network latencies:
- 0ms network latency - no max limit
- 20ms network latency - 40 maximum concurrent opens
- 40ms network latency - 20 maximum concurrent opens
- 80ms network latency - 15 maximum concurrent opens
- 120ms network latency - 5 maximum concurrent opens
What would cause this "hockey stick" threshold effect shown in
http://ahowe_ca.tripod.com/nfsperformance.pdf?
Are there any settings that would change this effect?
Here are the stats of my experiment:
- testing using Redhat Enterprise AS servers V3 connected via a 100Mbps
switch
- using client options "rw, noexec, nosuid, nodev, noatime, hard, intr,
tcp"
- using server options "rw, aysnc, wdelay, all_squash, root_squash,
anonuid=500, anongid=500"
- inserting latency with nist net
- experiment process spawns X number of threads set to each open a file on
an NFS mount, the time taken for each file open is recorded
- adjusting rsize, wsize does not affect "hockey stick" threshold effect
- adjusting /proc/sys/net/core/rmem* does not affect "hockey stick"
threshold effect
- adjusting number of nfsd processes does not affect "hockey stick"
threshold effect
Thanks in advance for any tips or directions where I can look for more
information on this topic.
Regards,
Anthony Howe