Choosing a VPS plan based on specs alone is a gamble. The same “2 vCPU, 4 GB RAM, 80 GB SSD” configuration can perform wildly differently across providers due to CPU model, resource contention, storage architecture, and network throttling. Running a standardized benchmark suite on a trial or money-back VPS before committing to a long-term plan gives you real data to compare. This 20-minute test suite covers CPU, memory, disk I/O, and network performance.
Before You Start: Provisioning a Test VPS
Most VPS providers offer a 7-day money-back guarantee or a trial period. Use this window to run benchmarks. Choose the plan you are considering, deploy a fresh Ubuntu 22.04 or 24.04 LTS image, and SSH in. Do not install any additional software beyond what is needed for the benchmarks — you want to measure the raw performance of the VPS, not your application stack.
For a look at different VPS plan options, visit virtualserversvps.com to compare features across providers.
Step 1: CPU Benchmark with sysbench
Sysbench is a lightweight, widely available benchmarking tool. Install it and run the CPU test:
# Install sysbench
sudo apt update && sudo apt install sysbench -y
# CPU benchmark (prime number calculation)
sysbench cpu --cpu-max-prime=20000 run
The result is a single metric: total time in seconds. Lower is better. A typical dedicated vCPU scores 10-15 seconds on this test. A shared/burstable vCPU may score 30-60 seconds, especially during peak hours. Run the test three times at different times of day to detect resource contention.
| CPU Type | Typical Score (seconds) | Notes |
|---|---|---|
| Dedicated vCPU (AMD EPYC / Intel Xeon) | 10-15 | Best for consistent workloads |
| Shared vCPU (Intel Xeon) | 20-35 | Varies with neighbor activity |
| Burstable (t3-like, credits) | 15-60 | Degrades as credits deplete |
| ARM / Graviton | 12-18 | Efficient but variable |
Step 2: Memory Benchmark with sysbench
Memory bandwidth and latency affect everything from database queries to PHP execution. Test both read and write performance:
# Memory read test
sysbench memory --memory-block-size=1M --memory-total-size=10G --memory-oper=read run
# Memory write test
sysbench memory --memory-block-size=1M --memory-total-size=10G --memory-oper=write run
The output shows throughput in MiB/sec. Look for:
- Read throughput: Should be above 5,000 MiB/sec for DDR4/DDR5
- Write throughput: Usually 30-50% lower than read
- Variance: If scores vary more than 20% between runs, the VPS may be oversubscribed
Step 3: Disk I/O Benchmark with fio
Disk performance is the most common bottleneck on a VPS. Fio is the gold standard for I/O benchmarking:
# Install fio
sudo apt install fio -y
# Sequential read (large files)
fio --name=seqread --ioengine=libaio --direct=1 --bs=1M --size=1G --numjobs=1 --rw=read --group_reporting
# Random 4K IOPS (small files, database-like)
fio --name=randwrite --ioengine=libaio --direct=1 --bs=4k --size=1G --numjobs=4 --rw=randwrite --group_reporting
# Mixed read/write (typical web server load)
fio --name=rwmix --ioengine=libaio --direct=1 --bs=64k --size=1G --numjobs=2 --rw=rw --rwmixread=70 --group_reporting
Key metrics to record:
| Test | Metric | Good | Warning |
|---|---|---|---|
| Sequential read | BW (MB/s) | > 300 MB/s | < 100 MB/s |
| Random 4K write | IOPS | > 5,000 | < 1,000 |
| Mixed 70/30 | Latency (usec) | < 5,000 us | > 20,000 us |
NVMe-backed VPS instances should easily exceed these thresholds. If you see sequential read speeds below 100 MB/s, the provider is likely using shared HDD-backed storage or has aggressive I/O throttling.
Step 4: Network Benchmark with iperf3
Network throughput matters for content delivery, backups, and database replication. Use iperf3 to test:
# Install iperf3
sudo apt install iperf3 -y
# Test against a public iperf3 server
iperf3 -c iperf.he.net -t 30
# Test to a specific region (choose a server near your target audience)
iperf3 -c iperf.worldstream.nl -t 30
Record both throughput (Mbps) and retransmits. High retransmit counts indicate network congestion or poor peering. For a web server, aim for at least 100 Mbps sustained throughput. For media streaming or file hosting, 500 Mbps or more is desirable.
Step 5: All-in-One Benchmarks
If you want a single script that covers CPU, memory, and disk, use the Geekbench CLI or the popular yabs.sh script (Yet Another Benchmark Script):
# YABS - comprehensive benchmark
curl -sL yabs.sh | bash
# Geekbench 6 (requires download)
wget https://cdn.geekbench.com/Geekbench-6.3.0-Linux.tar.gz
tar xzf Geekbench-6.3.0-Linux.tar.gz
cd Geekbench-6.3.0-Linux
./geekbench6
YABS runs CPU multi-threaded and single-threaded tests, fio disk tests, and iperf3 network tests, then outputs a summary. It is the quickest way to get a complete picture in one command.
Interpreting Results: What to Look For
Numbers alone are not useful without context. Here is how to interpret your benchmark results:
- Compare against your workload: A VPS with excellent CPU but poor disk I/O may be fine for a compute job but terrible for a database.
- Run at different times: Run the suite at 9 AM, 2 PM, and 10 PM. If scores drop significantly during business hours, the provider is oversubscribing resources.
- Check for burst credits: Some providers advertise “up to” performance that degrades after a burst period. Run the disk test for 5+ minutes to see if performance drops.
- Look at latency, not just throughput: A low-latency 4K random write is more important for databases than sequential read speed.
Benchmark Log Template
Provider: [Name]
Plan: [Name]
Date: [YYYY-MM-DD]
CPU: [Model from /proc/cpuinfo]
RAM: [GB]
Storage: [Type, Size]
--- CPU ---
sysbench prime 20000: [X.X]s
--- Memory ---
Read: [XXXX] MiB/sec
Write: [XXXX] MiB/sec
--- Disk ---
Seq Read: [XXX] MB/s
Random 4K Write: [XXXX] IOPS
Mixed Latency: [XXXX] us
--- Network ---
iperf3: [XXX] Mbps, [X] retransmits
--- Verdict ---
[Good / Marginal / Poor]
Save this template and fill it out for each VPS you test. Over time, you will build a reference dataset that makes choosing the right provider easy. For more tips on selecting the right VPS, browse our VPS guides and tutorials.
Conclusion
A 20-minute benchmark suite is the difference between buying a VPS based on marketing specs and buying one based on real performance. Run sysbench for CPU and memory, fio for disk I/O, and iperf3 for network throughput. Test at multiple times, record your results, and compare across providers. The time invested upfront pays for itself every time your application runs smoothly.


Leave a Reply
You must be logged in to post a comment.