Storage latency performance benchmarks
Testing Methodology
The disk I/O latency is measured in a VM running Linux or Windows. The disk I/O latency measured in the VM indicates the disk I/O latency that could be happened to the workloads running in the same VM. The I/O operations in UNIX and Linux systems typically go through the file system cache. With direct I/O enabled the operations against raw devices automatically bypass the file system cache.
Testing Tool
ioping
Supported OS: Linux
The ioping is a simple disk I/O latency measuring tool.
Test Setup
ioping - Ubuntu 18.04
- Prepare the VM to have proper irqbalance setting on Linux. (A script is available here).
- Download the ioping tool.
sudo apt-get update -y
sudo apt-get install -y ioping
- Run the ioping measurement with the parameters specifying the interval, request size, direct I/O enabled and read/write action.
sudo ioping -c 10000 -s 4k -i 0 -q -D /dev/xvdb
sudo ioping -c 10000 -s 4k -i 0 -q -D -WWW /dev/xvdb
The same ioping parameters are used when comparing a VM running on different environment. Make sure to change the configuration file to access the correct block device name that you wish to test, e.g. /dev/sda or /dev/xvda.
Results
ioping - latency from different operating systems on Sunlight
Platform | OS | Number of cores | Memory size (GB) | Disk size (GB) | Physical NVMe drive | Latency - Read (us) | Latency - Write (us) |
---|---|---|---|---|---|---|---|
Sunlight on premise (Intel BP) | Ubuntu 18.04 | 16 | 64 | 80 | Intel P4610 1.6TB | 47.3 | 79.6 |