IOPING-I/O latency Monitor

Today while searching a tool for monitor I/O latency, accidentally I came across ioping.  I must say this is one of the good tools to monitor I/O latency in real time.  As generic ping command show network latency, ioping shows disk latency in real time.

You can download the software from the below URL.

https://github.com/koct9i/ioping/

How to install?

Once download the zip file (ioping-master.zip) from the above mentioned URL. Unzip the file as follows.

  • unzip ioping-master.zip

It will unzip the ioping-master.zip file into ioping-master directory.

  • Go to the directory ioping-master
  • Run command make
  • Run command make install
  • It will create executable file ioping in the same directory(ioping-master)

Now you installation is done and you are ready to use the command ioping to measure I/O latency of disks.

How to use?

  • ./ioping -c 5 /

4 KiB from / (ext4 /dev/sda3): request=1 time=370 us

4 KiB from / (ext4 /dev/sda3): request=2 time=469 us

4 KiB from / (ext4 /dev/sda3): request=3 time=534 us

4 KiB from / (ext4 /dev/sda3): request=4 time=540 us

4 KiB from / (ext4 /dev/sda3): request=5 time=462 us

— / (ext4 /dev/sda3) ioping statistics —

5 requests completed in 2.38 ms, 20 KiB read, 2.10 k iops, 8.22 MiB/s

min/avg/max/mdev = 370 us / 475 us / 540 us / 61 us

  • ./ioping -RL /

— / (ext4 /dev/sda3) ioping statistics —

1.05 k requests completed in 2.97 s, 262.2 MiB read, 353 iops, 88.4 MiB/s

min/avg/max/mdev = 2.44 ms / 2.83 ms / 37.0 ms / 1.45 ms

To get the list of all the available options, run  “./ioping” without any arguments.

./ioping

Usage: ioping [-LABCDWRq] [-c count] [-w deadline] [-pP period] [-i interval]

[-s size] [-S wsize] [-o offset] directory|file|device

ioping -h | -v

-c <count>      stop after <count> requests

-w <deadline>   stop after <deadline>

-p <period>     print raw statistics for every <period> requests

-P <period>     print raw statistics for every <period> in time

-i <interval>   interval between requests (1s)

-s <size>       request size (4k)

-S <wsize>      working set size (1m)

-o <offset>     working set offset (0)

-k              keep and reuse temporary working file

-L              use sequential operations (includes -s 256k)

-A              use asynchronous I/O

-C              use cached I/O

-D              use direct I/O

-W              use write I/O *DANGEROUS*

-R              seek rate test (same as -q -i 0 -w 3 -S 64m)

-B              print final statistics in raw format

-q              suppress human-readable output

-h              display this message and exit

-v              display version and exit