NFS Specifics

NFSv3 Constant Protocol Workload

Access Pattern

The NFSv3 commands supported by the NFSv3 constant protocol workload are shown below.

Reset all the sliders to zero or reduce the command percentage by dragging the sliders to the left, to receive the unused percentage. Next, if you drag the sliders to the right, the percentage of that particular command increases.

2019-11-14_15-54-22.png

The donut chart displays the overall data (read/write) versus the metadata ratio.

2019-11-14_14-28-13.png

The Asynchronous I/Os parameter allows you to specify up to how many “chunks” of a R/W request can be concurrently outstanding “on the wire” (per worker) for Read and Write operations, respectively.

Let’s say you have a 10KB file you need to read, and the read block size is 1KB, then for each file for each concurrent worker:

  • If Asynchronous I/Os = 1: At any given time, there is one 1KB read request on the wire, and the next 1KB read request will not be sent until the currently open 1KB read request has been responded to. So to complete the 10KB file read, there will be ten sequences of one read request – one read response exchanges.

  • If Asynchronous I/Os = 8: The NFSv3 client will send out up to eight 1KB read requests even if zero responses have been received. However, it will not send the ninth 1KB read request until at least one read request has been responded to. So there is not a guaranteed sequence of one read request – one read response exchanges, but by the time the 10KB file read completes, there will still be a total of ten read requests and ten read responses.

  • If Asynchronous I/Os = 16: The NFSv3 client will send out up to ten 1KB read requests, because the 10KB file read can be completed with ten 1KB read requests.

Load Properties

The number of concurrent workers needs to be a multiple of the number of volumes access to maintain even workload across volumes. For example, if you have a total of 7 volumes, and you set the number of concurrent workers to 21, then the likelihood for the 7 volumes to receive equal load is the highest. However, it is not guaranteed always that the 7 volumes will have the same exact amount of load at all times depending on how the workload and test bed are configured, and how the SUT behaves.

More information

During an NFS workload run, the NFS client uses LOOKUPs to determine if a directory exists or not, and then makes a decision whether it is necessary to create a directory or not. Therefore, it is normal to see “failed” commands (e.g. failed Lookup response) when reviewing the test run results.

For information on designs and behaviors of the NFSv3 workload that is not specific to the NFSv3 protocol, see the Common Workload Concepts and Settings section as it relates to Constant Protocol Workloads, and the File Protocol Workloads section.

NFSv3 Temporal Protocol Workload

More information

For information on designs and behaviors of the NFSv3 Temporal Protocol Workload, see Common Workload Concepts and Settings section as it relates to Temporal Protocol Workloads, the File Protocol Workloads section, and the NFSv3 Constant Protocol Workload section.

NFS Version 4 (v4.0, v4.1, v4.2)

NFS Version 4 (incorporating NFSv4.0, NFSv4.1, and NFSv4.2) differs from NFSv3 in both behavior and command set. The core commands supported by all the NFSv4 workloads are displayed in the following example. Many of the commands are the same as NFSv3, although there are some differences.

New commands such as open and close are related to state management. Other commands, such as fsstat,are not available.

The following example displays the default values for NFSv4 (NFSv4.0/NFSv4.1/NFSv4.2).

2019-11-14_17-08-14.png

Reset all the sliders to zero or reduce the command percentage by dragging the sliders to the left, to receive the unused percentage. Next, if you drag the sliders to the right, the percentage of that particular command increases.

The donut chart displays the overall data (read/write) versus the metadata ratio.

More information

For information on designs and behaviors of the NFSv4 workload that is not exclusively specific to the NFSv4.0/NFSv4.1/NFSv4.2 protocol, see the Creating a New Workload Test section as it relates to Constant Protocol Workloads, the File Protocol Workloads Details section, and the NFS Specifics section as it relates to NFSv3.