Benchmarking answers two questions every dedicated server owner should ask: did I receive the hardware performance I am paying for, and what is my baseline for spotting degradation later? The tools are free and the tests take an hour. The hard part is methodology β€” most published server benchmarks are accidentally measuring caches, throttling or the benchmark tool itself.

Methodology Before Tools

  • Benchmark an idle server; background jobs invalidate results.
  • Run every test at least three times and report the median.
  • Record context: kernel version, filesystem, CPU governor, mitigations. A result without context cannot be compared.
  • Watch CPU temperature during long runs β€” sustained results matter more than a 30-second burst before thermal limits engage.

CPU: sysbench and Geekbench

Quick sanity check: sysbench cpu --threads=$(nproc) run gives an events-per-second figure comparable across machines. Geekbench 6 offers cross-vendor comparability against a public database β€” useful for verifying a rented CPU performs like other samples of the same model. For real-world signal, also time your actual workload: compile your project, restore your database dump, encode a sample video.

Storage: fio, Used Honestly

fio is the standard, and also the easiest to misuse. Test four patterns: sequential read and write with 1M blocks (throughput), and random read and write with 4K blocks at realistic queue depths (IOPS). Always use direct=1 to bypass the page cache and a test file larger than RAM, otherwise you are measuring memory. Reference points for 2026 hardware: a Gen4 NVMe drive should deliver roughly 5–7 GB/s sequential reads and several hundred thousand random read IOPS; a SATA SSD tops out near 550 MB/s; a 7200rpm HDD manages ~150–250 MB/s sequential and only a few hundred IOPS.

Network: iperf3 and Real Transfers

Run iperf3 -s on one host and iperf3 -c <host> -P 4 from another to measure raw TCP throughput; parallel streams help saturate high-bandwidth links. Test both directions and to targets in different regions β€” a 10Gbps port is only as useful as theθ·― upstream routing. Complement with latency (ping, mtr) to your actual user regions, since for most web workloads latency shapes user experience more than bandwidth.

Memory and the Whole-System View

sysbench memory run checks bandwidth (DDR5 systems should show a clear uplift over DDR4). Then finish with an application-level test β€” wrk or k6 against your real application β€” because that is the number users experience. Store all results in your runbook; when performance mysteriously drops next year, this baseline turns a debugging marathon into a diff.

Frequently Asked Questions

My NVMe numbers are far below spec. Why?

Usual suspects: testing through the page cache (missing direct=1), a too-small test file, a nearly full drive, or the drive throttling from heat. Check each before blaming the hardware.

Are provider benchmark claims trustworthy?

Treat them as best-case figures. Reputable providers welcome you verifying β€” run your own tests during any trial period.

How often should I re-benchmark?

After provisioning, after major kernel or hardware changes, and whenever monitoring suggests degradation. SSDs in particular can slow down as they fill and age.

Verify our numbers yourself β€” order a dedicated server, compare against cloud instances, or request benchmark data for a specific configuration.