OPS535 NFS Optimization
Contents
Definition of Optimization
- Definition of Optimization by Merriam-Webster
- Define Optimization at Dictionary.com
- What is optimization? definition and meaning - BusinessDictionary.com
Overview
"Aside from the general network configuration - appropriate network capacity, faster NICs, full duplex settings in order to reduce collisions, agreement in network speed among the switches and hubs, etc. - one of the most important client optimization settings are the NFS data transfer buffer sizes, specified by the mount command options rsize and wsize. " - Optimizing NFS Performance. This exercise involved the investigation of finding the optimal rsize and wsize for NFS clients that use the NFS server for storing small files with average file size of 1K bytes and NFS clients that use the NFS server for storing relatively large files with average file size of 1M bytes.
Useful reference on NFS optimization
- Optimizing NFS Performance
- How to do Linux NFS Performance Tuning and Optimization
- NFS Tuning on the client
- Optimizing servers - NFS speedup & optimization guide
- NFS server configuration file on CentOS 7.x - /etc/sysconfig/nfs
Environments
Hardware
- Host: Lab machines
- NFS Server: VM on Lab machine
- NFS Client: VM on lab machine
Software
- CentOS 7.x
- KVM
- Virtual Machines
- nfs-utils-1.3.x
Investigation
Optimize rsize/wsize for small files (average size ~ 1K)
write operation
- wsize - use different wsize values and mount the NFS share on an NFS client machine
- use the appropriate dd command to write 10 files with file size around 1K and get the average time for the write operation for each wsize.
- umount the share and mount with a different wsize.
- repeat the same write operation.
- plot a graph for average write time against wsize.
- find and comment on the optimal wsize for small file.
read operation
- rsize - use different rsize values and mount the NFS share on an NFS client machine
- use the appropriate dd command to read the 10 1K files created in the write operation from the NFS share to the bit bucket and get the average time for the read operation for each rsize.
- umount the share and mount with a different rsize
- repeat the same read operation
- plot a graph for average read time agaist rsize.
- find and comment on the optimal rsize for small file.
Optimize rsize/wsize for large files (average size ~ 1M)
write operation
- wsize - use different wsize values and mount the NFS share on an NFS client machine
- use the appropriate dd command to write 10 files with file size around 1M and get the average time for the write operation for each wsize.
- umount the share and mount with a different wsize.
- repeat the same write operation.
- plot a graph for average write time against wsize.
- find and comment on the optimal wsize for large file.
read operation
- rsize - use different rsize values and mount the NFS share on an NFS client machine
- use the appropriate dd command to read the 10 1M files created in the write operation from the NFS share to the bit bucket and get the average time for the read operation for each rsize.
- umount the share and mount with a different rsize
- repeat the same read operation
- plot a graph for average read time agaist rsize.
- find and comment on the optimal rsize for large file.
Report
- Present your investigation data in tabular form together with a graph showing the optimal value if there is any. (Your data range may be too narrow if no optimal point exist.)
- Comment on your results and lesson learn.
Completing the Investigate
- Upload your report to Blackboard before the study break.