How to Benchmark a VPS in 2026: CPU, Disk, and Network
A practical checklist and copy-paste commands to benchmark any VPS: CPU model, fio disk I/O, and basic network throughput.
- Dataset size: 400 plans across 11 providers. Last checked: 2026-01-13.
- Change log updated: 2026-01-13 ( see updates).
- Latency snapshot: 2026-01-20 ( how tiers work).
- Benchmarks: shown on plan pages when available (none in the dataset yet). Benchmark your own VPS .
- Found an issue? Send a correction .
How to Benchmark a VPS in 2026 (CPU, Disk, Network)
If you’re comparing VPS providers, specs alone don’t tell the full story. Two “4 vCPU / 8 GB / NVMe” plans can behave very differently due to CPU models, storage backends, throttling, and noisy neighbors.
This guide gives you a practical, repeatable way to benchmark a VPS so you can compare plans fairly.
The 3 rules of trustworthy VPS benchmarks
- Test more than once. Run the same test 2–3 times and repeat later (peak hours vs off-peak).
- Avoid fake disk benchmarks. Don’t run fio in
/tmpif it’s mounted astmpfs(RAM). - Compare like-for-like. Same region, similar plan class, and similar pricing model.
If you just want to shortlist first, use:
- VPS Finder: /en/vps-finder
- NVMe plans: /en/route-tags/nvme
- CPU-optimized plans: /en/route-tags/cpu-optimized
- Unmetered egress: /en/route-tags/unmetered-egress
Step 1: Record basic system info (30 seconds)
uname -a
cat /etc/os-release
uptime
# CPU model + vCPU count
lscpu | egrep "Model name|CPU\\(s\\)|Thread|Core|Socket"
# Memory
free -h
# Disk + filesystem
lsblk
df -hT
mount | grep -E " on /(tmp|var) | on / "
Tip: On shared-CPU VPS, high steal time can kill performance. Keep an eye on top / htop during tests.
Step 2: CPU benchmark (sysbench)
CPU tests are most useful when you run them consistently. Sysbench is a good “good-enough” baseline.
sudo apt-get update && sudo apt-get install -y sysbench
# Single-thread (single-core sensitivity)
sysbench cpu --threads=1 --time=15 run
# Multi-thread (parallel throughput)
sysbench cpu --threads=$(nproc) --time=15 run
What to watch:
- Single-thread speed matters for many web apps and latency-sensitive workloads.
- Multi-thread throughput matters for builds, encoding, batch jobs, and parallel tasks.
For deeper CPU comparisons, collect Geekbench (and keep the result URL), but treat it as one signal among many.
Step 3: Disk benchmark (fio)
For databases and I/O-heavy workloads, random 4K IOPS often matters more than sequential MB/s.
sudo apt-get update && sudo apt-get install -y fio
# Run in a real disk directory (not tmpfs). Example:
cd /root
# Random 4K read
fio --name=4k-randread --filename=fio-testfile --size=1G --rw=randread --bs=4k --iodepth=32 --direct=1 --time_based --runtime=30 --group_reporting
# Random 4K write
fio --name=4k-randwrite --filename=fio-testfile --size=1G --rw=randwrite --bs=4k --iodepth=32 --direct=1 --time_based --runtime=30 --group_reporting
# Sequential read (throughput)
fio --name=seq-read --filename=fio-testfile --size=1G --rw=read --bs=1m --iodepth=16 --direct=1 --time_based --runtime=30 --group_reporting
rm -f fio-testfile
Common pitfalls:
- Caching: use
--direct=1and a file size big enough to exceed RAM caches. - Burst vs sustained: some platforms burst high then drop. Repeat tests later.
Step 4: Network sanity checks
Network performance depends on routes and time of day. Avoid drawing conclusions from a single endpoint.
Latency (ping)
Use the site’s Latency tiers to shortlist regions first: /en/latency
Then validate from your VPS:
ping -c 10 1.1.1.1
ping -c 10 8.8.8.8
Throughput (quick download test)
curl -L -o /dev/null -s -w "download: %{speed_download} bytes/sec\\n" "https://speed.cloudflare.com/__down?bytes=100000000"
Notes:
- Single-connection downloads don’t fully represent multi-connection throughput.
- For serious bandwidth tests, use multiple targets and tools like iperf (where available).
Step 5: Compare results fairly
When comparing two VPS plans:
- Use the same test commands, test duration, and file size.
- Record date/time of each run.
- Prefer plans with similar region and pricing model (monthly vs annual).
Then use this site to contextualize:
- Use /en/vps-finder to filter by region, storage type, IPv6, and more.
- Use plan pages to review sources & freshness, refund notes, and (when available) benchmark results.
Optional: Contribute benchmark data
If you want to help improve the dataset’s benchmark coverage, see:
- /en/methodology#benchmarks