VPS providers love to throw around numbers – "fastest CPU," "blazing NVMe," "unlimited bandwidth." But how do you know if you're actually getting what you paid for?
Benchmarking your VPS gives you hard data. You can compare providers, detect performance degradation over time, and make informed decisions about upgrades.
Here's how to benchmark your VPS using free, open‑source tools.
What to Measure
Four metrics matter most for VPS performance:
- CPU performance – How fast your server processes calculations
- Disk I/O – How quickly files are read from and written to storage
- Network speed – Upload and download throughput
- Latency – Response time from different geographic locations
Tool 1: YABS (Yet Another Benchmark Script)
YABS is the most popular all‑in‑one benchmark script for Linux VPS. It runs CPU, disk, and network tests in one command.
Install and run:
curl -sL yabs.sh | bash
Or with wget:
wget -qO- yabs.sh | bash
What YABS tests:
- CPU – Geekbench 5 or 6 single‑core and multi‑core scores
- Disk – fio tests for sequential and random read/write speeds
- Network – iperf3 speed test to multiple locations
The script takes 5‑10 minutes to complete. The output is formatted for easy reading.
Tool 2: UnixBench – Classic CPU Test
UnixBench has been around for decades. It runs a suite of CPU and system benchmarks and produces a single "index" score.
Install and run:
sudo apt install sysbench -y
sysbench cpu run
Alternatively, use the full UnixBench suite:
git clone https://github.com/kdlucas/byte-unixbench.git
cd byte-unixbench/UnixBench
make
./Run
UnixBench scores are comparable across different systems. A score of 1000 is baseline from a 1990s SPARCstation – modern VPS typically scores 500‑2000+.
Tool 3: fio – Disk I/O Testing
fio is the gold standard for disk benchmarking. It tests sequential and random read/write speeds.
Install fio:
sudo apt install fio -y
Test random read/write (4K blocks):
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --bs=4k --iodepth=64 --size=1G --readwrite=randrw --rwmixread=75
Test sequential read/write (1MB blocks):
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --bs=1M --iodepth=64 --size=1G --readwrite=rw --rwmixread=75
What to look for:
- NVMe drives: 500‑1500 MB/s sequential reads
- SSD drives: 200‑500 MB/s sequential reads
- HDD drives: 50‑150 MB/s sequential reads
Tool 4: Speedtest CLI – Network Speed Test
Speedtest CLI measures your VPS's upload and download speeds to nearby servers.
Install Speedtest CLI:
sudo apt install speedtest-cli -y
Run the test:
speedtest-cli
For more accurate results, test to a specific server:
speedtest-cli --list | head -20
Pick a server ID and run:
speedtest-cli --server SERVER_ID
Tool 5: Ping and Traceroute – Latency Testing
Latency matters for user experience. Test from your VPS to major locations:
ping -c 10 google.com
ping -c 10 8.8.8.8
For more detailed routing info:
traceroute google.com
Good latency targets:
- Same continent: 10‑50ms
- Cross‑continent: 100‑200ms
- Global: 200‑300ms
Interpreting Your Results
Here's what good numbers look like for a modern VPS (2026 standards):
| Metric | Good | Excellent |
|---|---|---|
| UnixBench (single‑core) | 800‑1200 | 1200+ |
| Disk I/O (seq read) | 300‑500 MB/s | 500+ MB/s |
| Network speed | 500‑1000 Mbps | 1000+ Mbps |
| Latency (US East to EU) | 80‑120ms | <80ms |
When to Benchmark
Run benchmarks:
- Right after provisioning – Establish a baseline
- Every 3‑6 months – Detect performance degradation
- After major changes – New software, configuration updates
- Before upgrading – Confirm you actually need more resources
Keep a log of your results. Over time, you'll spot trends and know when something's wrong.
Need a VPS to benchmark? Check our recommended VPS providers.