Storage Benchmarking
There are 4 things that you may want to consider
I/O Latency
I/O latency is defined simply as the time that it takes to complete a single I/O operation. For a conventional spinning disk, there are 3 sources of latency – seek latency, rotational latency and transfer time.
- Command Overhead
- Seek Latency is how long it takes for the disk head assembly to travel to the track of the disk where the data will be read/written. The fastest high-end server drives today to have a seek time around 4 ms. The average desktop disk is around 9ms (Taken from Wikipedia)
- Rotational Latency is the delay taken for the rotation fo the disk to bring the disk sector under the read-write-head. For a 7200 rpm disk, latency is around 4.17 ms (Taken from Wikipedia)
- Transfer Time is the time taken for the time it takes to transmit or move data from one place to another. Transfer time equals transfer size divided by data rate.
HDD spindle speed [rpm] |
Average rotational latency [ms] |
---|---|
4,200 | 7.14 |
5,400 | 5.56 |
7,200 | 4.17 |
10,000 | 3.00 |
15,000 | 2.00 |
So the simplistic calculation
overhead + seek + latency + transfer
0.5ms + 4ms + 4.17ms + 0.8ms = 9.47ms
Acceptable I/O
A question frequently asked is what is the acceptable I/O? According to the Kaminario site, which states that
The Avg. Disk sec/Read performance counter indicates the average time, in seconds, of a read of data from the disk. The average value of the Avg. Disk sec/Read performance counter should be under 10 milliseconds. The maximum value of the Avg. Disk sec/Read performance counter should not exceed 50 milliseconds.
References:
- What Is an Acceptable I/O Latency?
- Disk Performance
- Difference between Seek Time and Rotational Latency in Disk Scheduling