Bug #9076

ZFS Performance test concurrency should be lowered for better latency

Added by John Kennedy 12 months ago. Updated 10 months ago.

Status:ClosedStart date:2018-02-07
Priority:NormalDue date:
Assignee:John Kennedy% Done:


Target version:-
Difficulty:Medium Tags:needs-triage


Work by Stephen Blinick.

Nightly performance runs typically consist of two levels of concurrency; and both are fairly high.

Since the IO runs are to a ZFS filesystem, within a zpool, which is based on some variable number of vdev's, the amount of IO driven to each device is variable. Additionally, different device types (HDD vs SSD, etc) can generally handle a different amount of concurrent IO before saturating.

Nevertheless, in practice, it appears that most tests are well past the concurrency saturation point and therefore both perform with the same throughput, the maximum of the device. Because the queuedepth to the device(s) is so high however, the latency is much higher than the best possible at that throughput, and increases linearly with the increase in concurrency.

This means that changes in code that impact latency during normal operation (before saturation) may not be apparent when a large component of the measured latency is from the IO sitting in a queue to be serviced. Therefore, changing the concurrency settings is recommended


#1 Updated by Electric Monk 10 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit 859bfead58cf0e8c589b713386bab81385a346e6

commit  859bfead58cf0e8c589b713386bab81385a346e6
Author: Stephen Blinick <stephen.blinick@delphix.com>
Date:   2018-03-19T18:21:16.000Z

    9076 ZFS Performance test concurrency should be lowered for better latency
    Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
    Reviewed by: John Kennedy <john.kennedy@delphix.com>
    Approved by: Robert Mustacchi <rm@joyent.com>

Also available in: Atom