Microbenchmark
A microbenchmark measures a small set of operations to isolate a specific performance cost or behavior.
Use focused tests to explain a mechanism, then use a representative application workload or trace to assess its wider effect. Record cache state, request sizes, concurrency and timing boundaries; a macrobenchmark is not automatically realistic either. [1]
For example, sg_read at sg3_utils v1.48 can issue zero-block SCSI READ(10), READ(12) or READ(16) commands to time command overhead. READ(6) does not share that zero-block meaning. A command rate from this test does not establish data-transfer bandwidth or application IOPS. [2]
In Slowfs, researchers delayed ext2 operations through CPU-side execution, not added device I/O service time. CPU-bound compile workloads could conceal that overhead. The injected mechanism matters: a slowdown factor alone cannot predict the response to a physically slower disk. [1]
Relations
- related
- IOPS, Storage latency, Fault injection
Limitations
- An isolated cost can change when other operations contend for shared resources; combine narrow measurements with tests of the intended workload. [1]
Citations
- Traeger et al., A Nine Year Study of File System and Storage Benchmarking, FSL-07-01, sections 3.1-3.2 and 12.1-12.2
- sg3_utils v1.48: sg_read(8), description and zero-block SCSI READ timing
Further reading
Sources & caveats
- Source synthesis, not a new hardware measurement or reproduction of the historical Slowfs experiment.