How is read and write latency measured in Element Software ?
Applies to
- Element Softweare
- SolidFire ActiveIQ
writeLatencyUSec
,readLatencyUSec
parameters in Element APIs such asGetClusterStats
,ListVolumeStats
,GetVolumeStats
Answer
The timer of latency measured by Element Software start from receving SCSI Request. And the timer ends when the request completes.
Here is more detail for each Read and Write I/O.
Read I/O
- Client sends a SCSI Read command
- Cluster receives the SCSI Read command
- Cluster injects QoS delay (if any)
- Cluster begins SCSI Read command processing (timer starts)
- Cluster reads data from the volume
- Cluster transfers read data to client
- If more data needs to be read, repeat step 5 and 6, otherwise the final transfer of read data includes SCSI status to complete the SCSI Read command (timer ends)
- Client receives the SCSI Status for the SCSI Read command
Write I/O
- Client sends a SCSI Write command with some/all write data
- Cluster receives the SCSI Write command
- Cluster injects QoS delay (if any)
- Cluster begins SCSI Write command processing (timer starts)
- If cluster needs more data to write, request data from the client
- Client sends additional write data to the cluster
- Cluster writes data to the volume
- If more data needs to be written, repeat step 5 through 7
- Cluster sends SCSI status to complete the SCSI Write command (timer ends)
- Client receives the SCSI status for the SCSI Write command
Note :
- Latency includes the time for data transfer between client host and storage system.
- Exception is QoS delay such as reachinig MaxIOPS. The average latency observed by the client may differ from what is reported in the volume stats because of this.
- These examples don't account for any transient I/O errors that would require a SCSI command to be retried by the client.
Additional Information
Active IQ collect stats every minute for last 0.5 sec of performance of data through management node.