Budget VPS providers love to advertise vCPU cores, RAM, and NVMe SSDs, but the numbers on the spec sheet mean little without real performance testing. Two providers both offering “2 vCPU, 2 GB RAM, 40 GB NVMe” can deliver wildly different speeds depending on how oversubscribed their hardware is. Running a few simple benchmarks before you commit to a long-term plan can save you from months of frustration.
The Five Benchmarks That Matter
Here are the five tests that reveal whether a budget VPS is actually worth your money or just a slow shared server in disguise:
- CPU single-core speed: Determines application launch time, page rendering, and Node.js/Python performance
- CPU multi-core efficiency: Shows how well the hypervisor handles parallel workloads
- Disk sequential read/write: Affects file uploads, database queries, and backup speed
- Disk random I/O: What matters for real-world database and caching workloads
- Network throughput: Determines how fast your VPS can serve content to visitors
1. CPU Performance: UnixBench
UnixBench is the standard for comparing VPS CPU performance. It runs a battery of real-world workloads including file copy, pipe throughput, and process creation. Install and run it:
sudo apt update && sudo apt install -y build-essential git
cd /tmp && git clone https://github.com/kdlucas/byte-unixbench.git
cd byte-unixbench/UnixBench && ./Run
For budget VPS plans, here are the target scores based on our testing across 12 providers:
| Plan Tier | Single-Core Score | Multi-Core Score |
|---|---|---|
| $3–$5/mo (1 vCPU, 1 GB) | 800–1,200 | 800–1,200 |
| $6–$10/mo (2 vCPU, 2 GB) | 1,000–1,500 | 1,800–2,600 |
| $12–$20/mo (4 vCPU, 4 GB) | 1,200–1,800 | 3,500–5,500 |
| Premium providers | 1,800–2,500 | 6,000–9,000 |
If your VPS scores below the low end of the range, the provider is oversubscribing CPU cores. A score of 400–600 on a $5 plan means you are effectively sharing a single core with 4–6 other VMs.
2. Disk Speed: Fio and dd
Random I/O is what matters for production workloads. Sequential writes tell you about backup speed, but random 4K reads are the real-world metric for database performance. Here is a quick test:
# Sequential write (backup speed)
dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync
# Random 4K reads (database performance)
sudo apt install -y fio
fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=1 --size=256M --numjobs=4 --runtime=60 --group_reporting
Good budget VPS scores: sequential write above 300 MB/s, random 4K read above 5,000 IOPS. Anything below 2,000 IOPS for random reads will feel sluggish with a database-backed application.
3. Network Speed: Speedtest and iperf3
Network quality varies enormously between providers. Test with:
# Install speedtest-cli
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt install -y speedtest
speedtest
# Test to a specific region
iperf3 -c ping.online.net -p 5201 -t 30
For a budget VPS, aim for at least 300 Mbps download and 150 Mbps upload. Many budget providers cap bandwidth at 100 Mbps, which is adequate for 90% of use cases but worth knowing before you commit.
4. The Steal Time Test
CPU steal time is the most important metric nobody talks about. It measures how often your VPS wants to use the CPU but the hypervisor is busy serving other VMs. Run this simple check:
top -bn1 | grep "Cpu(s)"
Look at the st (steal) value. Under 1% is excellent. 1–5% is acceptable. Above 5% means you are on an oversubscribed node and will experience random slowdowns throughout the day. Consistent steal time above 10% is a dealbreaker—move to a different provider.
One-Click Benchmark Script
Combine all of the above into a single script and run it on any new VPS immediately after provisioning:
#!/bin/bash
echo "=== CPU Info ==="
lscpu | grep -E "Model name|CPU(s)|Thread"
echo ""
echo "=== CPU Steal ==="
top -bn1 | grep "Cpu(s)"
echo ""
echo "=== Memory ==="
free -h
echo ""
echo "=== Sequential Write ==="
dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync 2>&1 | tail -1
rm -f test
echo ""
echo "=== Network Speed ==="
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -
A Note on Provider Trial Periods
Most budget VPS providers offer a 7-day or 30-day money-back guarantee. Use that window to run these benchmarks and compare against our VPS comparison table. If the performance does not match the advertised specs, request a refund and move to a different provider. The best budget VPS is not the cheapest—it is the one that delivers consistent performance at a fair price.

