Disk Benchmark Explained: What the Numbers Mean and How to Improve Speed
What a disk benchmark measures
Disk benchmarks test storage performance using a few core metrics:
- Sequential read/write (MB/s): Speed when reading or writing large contiguous files — important for copying big files, video editing, and backups.
- Random read/write (IOPS): Input/output operations per second for small, scattered reads/writes — critical for databases, OS responsiveness, and app load times.
- Latency (ms): Time to complete a single I/O request; lower is better for snappy performance.
- Queue depth (QD): Number of concurrent I/O requests; performance scales differently at low vs high QD.
- Throughput vs IOPS trade-off: Throughput (MB/s) favors large transfers; IOPS favors many small transfers.
Common benchmark patterns and what they indicate
- High sequential but low random performance: good for media storage; poor for OS/app responsiveness — typical of some SATA SSDs and HDDs.
- High IOPS and low latency: excellent for databases, virtual machines, and boot drives — typical of NVMe drives.
- Performance drops at high QD: may indicate controller or firmware limits, thermal throttling, or host interface bottlenecks.
- Consistent performance vs bursty spikes: steady throughput is preferable for server workloads; bursty high performance with quick drops often means a small SLC cache on SSDs.
How benchmark settings affect results (and how to interpret fairly)
- Block size: Small blocks (4K) measure random I/O; large blocks (1MB) measure sequential throughput. Compare matching block sizes to real workloads.
- Read/write ratio: Real-world mixes vary; databases often use a read-heavy mix, while backups are write-heavy. Use ratios that match your use case.
- Test duration: Short tests show peak burst; longer tests reveal sustained performance and thermal/DRAM/cache effects. Prefer 1–10 minute runs for realistic numbers.
- Queue depth: Use low QD (1–4) to measure desktop responsiveness; use higher QD (16–128) for server workloads.
- File size / working set: Ensure the test size exceeds any drive cache to measure true sustained performance.
How to run a meaningful disk benchmark (step-by-step)
- Choose a tool that supports your platform and needed metrics (e.g., CrystalDiskMark, ATTO, fio, DiskSpd).
- Match test parameters to your real workload (block size, read/write mix, QD, test duration).
- Warm up the drive with a short run to fill caches, then run the sustained test.
- Repeat runs (3+) and average results to reduce variance.
- Monitor temperature and system load during the test; record CPU, NVMe temperature, and background I/O.
- Compare apples to apples — use the same tool and settings when comparing drives.
Practical tips to improve disk speed
- Switch to NVMe if you need much higher sequential throughput and random IOPS than SATA SSDs or HDDs can provide.
- Enable TRIM (SSDs): Keeps write performance from degrading over time.
- Use an appropriate file system and alignment: Proper partition alignment improves performance on SSDs and advanced format HDDs.
- Keep spare free space on SSDs: Avoid filling the drive; 10–20% free helps maintain performance by allowing wear-leveling and garbage collection.
- Update firmware and drivers: Controller firmware and NVMe/SATA drivers often include performance fixes.
- Use a heatsink for NVMe drives: Prevents thermal throttling under sustained load.
Leave a Reply