Skip to main content

Module bench

Module bench 

Source
Expand description

Implementation of the hexz bench command.

Runs read throughput benchmarks against a Hexz snapshot to measure decompression and I/O performance. This helps validate storage backend configuration and identify bottlenecks in snapshot access patterns.

§Benchmarks

The benchmark suite currently includes:

  • Sequential read test: Reads the entire disk stream sequentially in 1 MiB chunks and measures total throughput (MB/s). This tests decompression speed and storage backend bandwidth.

Future benchmarks may include:

  • Random IOPS testing (4 KiB random reads)
  • Cache effectiveness measurements
  • Multi-threaded access patterns

§Performance Expectations

Typical sequential read throughput:

  • LZ4 compression: 800-2000 MB/s (decompression-bound)
  • Zstd compression: 400-800 MB/s (decompression-bound)
  • Local SSD backend: Usually CPU-bound (decompression bottleneck)
  • Remote backends (S3, HTTP): May be network-bound at 100-500 MB/s

§Output

The benchmark displays:

  • Snapshot size (logical disk size)
  • Progress bar during the test
  • Total bytes read
  • Test duration
  • Average throughput (MB/s)

Functions§

run
Execute the benchmark command on a Hexz snapshot.