blkreplay(1) block device testing and benchmarking tool

SYNOPSIS

blkreplay [options] device

DESCRIPTION

blkreplay is a utility driving the block layer of the operating system while measuring latency and throughput of I/O operations for later visualisation.

blkreplay can create artificial loads (random read-write sweeps, various kinds of overload tests) or replay natural loads which have been recorded by blktrace or a similar utility run at production servers.

blkreplay can be used to test physical hardware, to compare different brands of hard disks or RAID controllers, to evaluate the effect of SSD caching, to compare different block level transports like iSCSI vs Fibrechannel and so on.

blkreplay parses the load data from stdin. To create load data from blktrace output, use conv_blktrace_to_load.sh script.

OPTIONS

Influence replay duration:
--replay-start=val
start offset (in seconds, 0=from_start)
--replay-end=val
end offset (in seconds, 0=unlimited)
--replay-duration=val
alternatively specify the end offset as delta
--replay-out=val
start offset, used for output (in seconds)
--start-grace=val
start after grace period for filling the pipes (in seconds)
Handling of conflicting I/O requests:
--with-conflicts
conflicting writes are ALLOWED (damaged I/O)
--with-drop
conflicting writes are simply dropped
--with-partial
partial ordering by pushing back conflicts (default)
--with-ordering
enforce total order in case of conflicts
--strong=val
mode between 0 and 2, see docs (default=1)
Replay parameters:
--threads=val
parallelism (default=1024)
--fill-random=val
fill data blocks with random bytes (%, default=0)
Verification modes:
--no-overhead
verify is OFF (default)
--with-verify
verify on reads
--with-final-verify
additional verify pass at the end
--with-paranoia
re-read after each write (destroys performance)
Convenience:
--verbose=val
increase verbosity, show additional INFO: output
Expert options (DANGEROUS):
--o-direct
use O_DIRECT (default)
--no-o-direct
don't use O_DIRECT, deliver FAKE results
--o-sync
use O_SYNC
--no-o-sync
don't use O_SYNC (default)
--dry-run
don't actually do I/O, measure internal overhead
--fake-io
omit lseek() and tags, even less internal overhead
--simulate-io=val
delay value for I/O simulation (timespec sec.nsec)
--ahead-limit=val
limit pipe fillahead (realtime sec.nsec)
--fan-out=val
only for kernel hackers (default=4)
--no-dispatcher
only for kernel hackers
--bottleneck=val
max #requests on dispatch
--speedup=val
speedup / slowdown by REAL factor (default=1.0)
--mmap-mode
use mmap() instead of read() / write() [NYI]

AUTHORS

blkreplay was written by Thomas Schoebel-Theuer. This manual page was created from blkreplay documentation by Andrew Shadura.

COPYRIGHT

Copyright 2009-2012 Thomas Schoebel-Theuer