BLKREPLAY(1)

NAME
blkreplay - 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

SEE ALSO
blktrace(8)