VDS vs shared VPS: how to measure and compare CPU performance
Measure your server’s real CPU performance with sysbench, steal time and repeatable tests, and see what a dedicated core changes.
Tutorials · 3 min read
Two servers can look identical on paper (4 vCPU, 8 GB RAM) yet behave very differently depending on how the CPU resource is shared. This guide explains a measuring method so you can see the difference yourself.
The difference between VPS and VDS
| Shared VPS | VDS (dedicated cores) | |
|---|---|---|
| CPU cores | Physical cores are shared with other servers | Cores are reserved for you |
| Performance | Can fluctuate with neighbours’ load | More consistent and predictable |
| Suited to | Websites, light services, development/testing | Databases, game servers, builds, constantly heavy jobs |
In our plans the Core and Performance families use the shared-resource model, while the Max Performance family uses dedicated resources (details are on the plan page).
1. Preparation
sudo apt update && sudo apt install -y sysbench htop
lscpu | grep -E "Model name|^CPU\(s\)|MHz"
Before measuring, make sure no other heavy work is running on the server (htop).
2. A basic CPU test
Take two separate measurements, one with a single core and one with all cores:
sysbench cpu --cpu-max-prime=20000 --threads=1 run
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
In the output look at events per second: the bigger the faster. Run each test at least 3 times and note how much the results vary.
3. Measure consistency: steal time
Steal time is the time a virtual machine waits because it wants CPU time while the physical core is busy with another virtual machine. If it is high, your server is complaining about shared CPU:
vmstat 1 10 # the "st" column
top # "st" on the top %Cpu line
If st stays near zero under load, that points to dedicated resources; if it often reaches a few per cent, the CPU is shared.
4. Test under sustained load
Short tests show peak performance, not consistency. Apply load for 5–10 minutes and see whether performance drops:
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) --time=300 run
# in another terminal:
vmstat 5
5. Interpreting the results
- Single-core result: matters for game servers, PHP requests and single-threaded work.
- Multi-core result: matters for builds, encoding and parallel jobs.
- Fluctuation and steal time: explain the “sometimes slow” feeling users report.
When comparing, use the same operating system, the same core count and the same commands; take several measurements at different times.
What to do with the result
- If performance is enough and there’s no fluctuation, stay with your current plan.
- For heavy jobs that need consistent performance, move to a plan with dedicated cores: upgrading your plan.
- For maximum performance and full hardware control, consider dedicated servers.
Start with Melinhost
Compare our cloud server families for your needs; snapshots and plan changes from the panel make it easy to try.