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.