BLKREPLAY(1)
π BLKREPLAY(1) π
okay so bestie, pull up a chair, we're talking about blkreplay from section 1 of the manual β the block device testing and benchmarking tool that's genuinely kinda iconic π₯
β¨ NAME β¨
blkreplay β block device testing and benchmarking tool, no cap π
πΈ SYNOPSIS πΈ
blkreplay [options] device
that's it. that's the whole vibe. one device, a bunch of options, and a whole lot of I/O π¦
π DESCRIPTION π
so blkreplay is a utility that drives the block layer of your operating system while it measures latency and throughput of I/O operations, so you can go visualise all that later πβ¨
it can create artificial loads (random read-write sweeps, various kinds of overload tests, the whole dramatic repertoire) OR it can replay natural loads that were recorded by blktrace or a similar utility running on actual production servers π
and like, what's it for? so many things bestie:
- testing physical hardware
- comparing different brands of hard disks or RAID controllers
- evaluating the effect of SSD caching
- comparing different block level transports like
iSCSIvsFibrechannel - and so on and so forth π
one thing you gotta know: blkreplay parses the load data from stdin. so if you wanna create load data from blktrace output, use the conv_blktrace_to_load.sh script. periodt π«
π 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 a delta (yes, a different way to say the same-ish thing, she contains multitudes) π§--replay-out=valβ start offset used for output, in seconds π€--start-grace=valβ start after a grace period for filling the pipes, in seconds β³
π Handling of conflicting I/O requests
--with-conflictsβ conflicting writes are ALLOWED. this means damaged I/O, bestie. it's giving chaos π--with-dropβ conflicting writes are simply dropped ποΈ--with-partialβ partial ordering by pushing back conflicts. this one is the default π--with-orderingβ enforce total order in case of conflicts π--strong=valβ mode between0and2, see docs. default is1πͺ
π¦ Replay parameters
--threads=valβ parallelism. default is1024π§΅--fill-random=valβ fill data blocks with random bytes, as a percentage. default is0π²
β Verification modes
--no-overheadβ verify is OFF. this is the default π--with-verifyβ verify on reads π--with-final-verifyβ an additional verify pass at the end π--with-paranoiaβ re-read after each write. this destroys performance, and I mean obliterates it π
π«Ά Convenience
--verbose=valβ increase verbosity, show additionalINFO:output π£οΈ
π₯ Expert options (DANGEROUS)
okay bestie, this is the expert section. the manpage literally put DANGEROUS in caps. read every line, fr fr π
--o-directβ useO_DIRECT. this is the default πΎ--no-o-directβ don't useO_DIRECT. this delivers FAKE results π--o-syncβ useO_SYNCπ--no-o-syncβ don't useO_SYNC. this is the default π«--dry-runβ don't actually do I/O, just measure internal overhead π§ͺ--fake-ioβ omitlseek()and tags, so even less internal overhead π--simulate-io=valβ delay value for I/O simulation, intimespecsec.nsecformat β±οΈ--ahead-limit=valβ limit pipe fillahead, in realtimesec.nsecπ§--fan-out=valβ only for kernel hackers. default is4π€--no-dispatcherβ only for kernel hackers π§--bottleneck=valβ max number of requests on dispatch πΎ--speedup=valβ speedup / slowdown by a REAL factor. default is1.0β‘--mmap-modeβ usemmap()instead ofread()/write().[NYI]β not yet implemented, so don't get your hopes up π«
π AUTHORS π
blkreplay was written by Thomas Schoebel-Theuer. this manual page was created from blkreplay documentation by Andrew Shadura. absolute legends, both of them π«Ά
πΈ COPYRIGHT πΈ
Copyright 2009-2012 Thomas Schoebel-Theuer
π« SEE ALSO π«
and that's the whole page, bestie π this one's dated 2021-01-06 and it lives in section 1 as BLKREPLAY(1) β go forth and benchmark responsibly, mwah π
β¨π
π¦ where this page comes from
- debian bookworm: blkreplay 1.0-3.1 Β· GPL-2.0-or-later
- debian trixie: blkreplay 1.0-3.1 Β· GPL-2.0-or-later
- ubuntu jammy: blkreplay 1.0-3.1 Β· GPL-2.0-or-later
- ubuntu noble: blkreplay 1.0-3.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms