ioping
Measure disk I/O latency
TLDR
Show disk I/O latency using the default values and the current directory
Measure latency on /tmp using 10 requests of 1 megabyte each
Measure disk seek rate on /dev/sdX
Measure disk sequential speed on /dev/sdX
SYNOPSIS
ioping [options] device|file|directory ...
PARAMETERS
-c, --count
Stop after sending N requests (default: 5)
-i, --interval
Pause N microseconds between requests (default: 250000 µs / 250 ms)
-s, --size
I/O request size in bytes (default: 4096)
-t, --time
Stop after N seconds (default: forever)
-I, --summary-only
Print only the summary line
-q, --quiet
Quiet mode: print result summary only
-R, --recursive
Recursively scan all files in directory
-S, --sequential
Use sequential I/O offsets (default: random)
-r, --random
Use random I/O offsets
-w, --cached
Use cached/buffered I/O (disable O_DIRECT)
-C, --compat
Compatibility mode (minimal output)
-l, --level
Set log level: 0=silent, 1=errors, 2=warnings, 3=verbose (default: 3)
-T, --threaded
Run tests in separate threads per device
-z, --zero-out
Fill I/O buffers with zeros (default: random)
-h, --help
Print help
-V, --version
Print version
DESCRIPTION
ioping is a lightweight command-line utility that benchmarks storage I/O performance by measuring latency and throughput, similar to how ping tests network latency.
It sends sequences of read or write requests (default: random writes with direct I/O) to block devices, files, or directories, reporting statistics like minimum, average, maximum latency, and request rate.
Key use cases include diagnosing high-latency storage in VMs, containers, cloud instances, or physical servers; comparing SSD vs HDD performance; testing filesystem overhead; and recursive scans for entire directories.
By default, it uses O_DIRECT to bypass page cache, ensuring realistic disk measurements, but supports cached mode for buffered I/O tests. Output mimics ping with per-request timings and a summary line (e.g., "/dev/sda: request count=10 avg/max latency=0.45/2.1 ms").
Ideal for quick spot-checks without complex setup like fio.
CAVEATS
Root privileges often required for raw block devices (/dev/sd*); may wear SSDs with heavy writes (use -w or reads); direct I/O needs aligned sizes/offsets; not for production workloads.
TYPICAL OUTPUT
<device>: request count=<N> avg/max latency=<X>/<Y> ms
Each line shows per-request latency; summary at end like ping.
EXAMPLES
ioping -c 10 /dev/sda
10 random writes to sda.
ioping -R -c 5 /home
Recursive ping files in /home.
ioping -S -s 1M -t 10 /tmp/testfile
10s sequential 1MB reads.
HISTORY
Developed by Oleg Goncharov (kojole) starting ~2013; open-source on GitHub (github.com/kojole/ioping); actively maintained with ports to FreeBSD, macOS; popular for quick I/O diagnostics in Linux sysadmin/devops since v0.6+.


