The nfs client mount command options “rsize” and “wsize” specify the size of the chunks of data that the client and server pass back and forth to each other. If no rsize and wsize options are specified, the default value is taken – which varies by which version of NFS and OS you are using. You will have to do some tests and find an rsize and wsize that works and is as fast as possible. You can test the speed of your options with some simple commands like dd.
Example : The first of these commands transfers 16384 blocks of 16k each from the special file /dev/zero to the file (testfile) in mounted directory /mnt. You have to time it to see how long it takes. So, from the client machine, try dd:
# time dd if=/dev/zero of=/mnt/testfile bs=16k count=16384
This creates a 256Mb file. In general, you should create a file that’s at least twice as large as the system RAM on the server, but make sure you have enough disk space. Then read back the file into the /dev/null by typing the following:
# time dd if=/mnt/testfile of=/dev/null bs=16k
Repeat this test a few times with different rsize & wsize and average how long it takes. Be sure to unmount and remount the filesystem each time, which should clear out any caches. Also try out with cache/no-cache, noatime and noacl options and get the average value.
You can also do these tests with much advanced benchmarking tools like iozone [ http://www.iozone.org/ ]