hn.today

Active Benchmarking

brendangregg.com3 points0 comments
Screenshot of Active Benchmarking

Active benchmarking is a method for making benchmark results meaningful by checking what a test actually measures while it is running. Passive benchmarking simply launches a test, collects its output, and presents the numbers; without further investigation, those numbers can misrepresent performance and lead to poor choices about hardware, software, databases, or vendors. The central risk is benchmarking one thing while believing the result describes another. Active benchmarking takes more effort upfront but can prevent costly decisions based on misleading comparisons.

The method is to run a benchmark long enough to reach steady state, then use system-monitoring and performance-analysis tools alongside it to identify bottlenecks and verify the workload. Tools such as vmstat, iostat, perf, tcpdump, and eBPF-based utilities can show whether results are constrained by CPU, storage, networking, software limits, interference from other workloads, or a single-threaded benchmark. Configuration should also be examined beforehand, including the benchmark’s code and compiler options where available. Reports should explain the limiting factor and provide evidence, not just comparative charts. Statistical analysis is valuable only after the measurements are shown to be valid: sophisticated statistics can increase confidence in results that are consistently wrong. Active analysis can also reveal when a benchmark is testing disk I/O rather than filesystem behavior, using unrealistic workloads, or comparing different software versions.

Read on brendangregg.com0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.