OPS535 NFS Optimization

From CDOT Wiki
Revision as of 13:10, 12 October 2016 by Rchan (talk | contribs) (Report)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Definition of Optimization

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

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.