Folks,
These are the results of cp's between vols mounted on two mount points, and on two pairs of mount points.
I saw much worse performance from the latter test -- the cp between one pair ran to completion while the other cp (different files, same two vols, different mount points on the same server) hung until the first was done.
To take advantage of multiple mount-point nfs ops on a single pair of vols, then, I'd need two interfaces on the client box, one for each pair of mount points?
Or is there something I can do on the netapp, equivalent to setting the number of active nfsd?
Dave
dev3(uhura)root wrote:
Skip,
I ran some test cp's from sanihome mounted on dev-eval. Same tcp
parameters as production saegis.
sanihome:/vol/vol0 is mounted on /test/s1 and /vol/nfs_archive is
mounted on /test/s2
# time cp /test/s1/dtoal-bigfile /test/s2/dtoal-bigfile
real 49.9 user 0.0 sys 2.7 #
Now, if I start two simultaneous cp's, one from s1 to s2 and the
other from s2 to s1, performance goes way down. I ran these in two separate windows:
# time cp /test/s1/dtoal-bigfile /test/s2/dtoal-tmp
real 1:37.8 user 0.0 sys 2.8 #
# time cp /test/s2/dtoal-bigfile /test/s1/dtoal-tmp
real 1:39.5 user 0.0 sys 4.8 #
With both cp'
processes running simultaneously, against the same mount point, time to complete is about 2x a single cp.
This also happens if you do a copy to the *same* mount point:
# time cp /test/s1/dtoal-bigfile /test/s1/dtoal-bigfile2
real 1:34.1 user 0.0 sys 2.0 #
Which means i/o against that mount point is happening serially. I thought that if I set up four separate mounts and copied one
file between each *pair* I'd get performance similar to the first case. Turns out not. These two copies were started at the same time:
# time cp /test/s1/dtoal-bigfile /test/s2/dtoal-third-big-file
real 1:14.6 user 0.0 sys 2.7 #
# time cp /test2/s2/dtoal-tmp /test2/s1/dtoal-fourth-big-file
real 2:26.1 user 0.0 sys 2.3 #
/test/s1 and /test2/s1 are both /vol/vol0; /test/s2 and /test2/s2
are both /vol/nfs_archive. I had `while sleep 1 do ls -l` running in a separate window, and I watched the second copy essentially hang until the first was done -- after the first was done, the second took off.
This is not the behaviour I expected to see from the netapp.
Dave