I spun up identical two-core, four-gig instances at nine providers in the first week of September to see where your money actually goes. Same workload, same tests, same patience for slow support tickets.
The hosting market shifted this year. A few budget providers raised prices or killed their entry tiers, while a couple of enterprise players rolled out cheaper self-service plans. If you picked a VPS in 2024 and haven't looked around since, you might be overpaying or running on hardware that's two generations behind.
What I tested and why it matters
Every provider got a fresh Ubuntu 22.04 LTS instance with two vCPUs and four gigs of RAM. I picked that spec because it's the sweet spot for small production apps, a WordPress multisite with caching, or a handful of Docker containers.
I ran the same battery on each box:
sysbench cpufor single-thread and multi-thread performancefiofor sequential and random disk I/Oiperf3against a reference server in the same regioncurltiming to measure real HTTP request latency under light load
No synthetic stress tests that pin the CPU for an hour. These are five-minute snapshots that mimic what a web app or API actually does.
Why benchmark data gets stale fast
Providers shuffle you between physical hosts. You might land on a new Ryzen box one month and a four-year-old Xeon the next. I redeployed each instance twice to catch that variance; the numbers below reflect the median of six runs. If a host gave wildly different results between deployments, I noted it.
The nine providers and what they cost
I tested DigitalOcean, Linode (now Akamai), Vultr, Hetzner, OVHcloud, UpCloud, Contabo, Kamatera, and Hostinger VPS. Monthly prices for the two-core, four-gig tier ranged from under five dollars to just over twenty, before bandwidth overage fees.
A few patterns jumped out. The big three—DigitalOcean, Linode, Vultr—charge a premium for brand recognition and a polished dashboard, but their raw CPU speed landed in the middle of the pack. Hetzner and Contabo delivered the best price-per-performance if you can live with support that responds in days, not hours.
Hostinger VPS was the surprise. Their entry plan undercuts everyone, and disk I/O beat half the field. The catch is a control panel that feels like it was designed by a committee that never used cPanel.
Managed vs. unmanaged: does it move the needle?
Two providers in this test offered managed tiers with automatic updates and monitoring dashboards. Performance was identical to their unmanaged plans; you're paying for the hand-holding, not faster hardware. If you know your way around systemctl and log rotation, skip it.
CPU performance: who gives you real cores?
Single-thread scores ranged from roughly eight hundred events per second at the low end to just over two thousand at the top. Multi-thread numbers scaled nearly linear on most hosts, which tells you the hypervisor isn't stealing cycles.
UpCloud and Vultr topped the single-thread test. DigitalOcean and Linode sat in the middle. Contabo's budget tier showed the widest variance; one deployment felt snappy, the next one lagged during apt upgrades.
Hetzner's AMD instances were fast and consistent. If your app is CPU-bound—image processing, video transcoding, compiling large codebases—Hetzner's price-to-power ratio is hard to beat.
What about CPU steal time?
I logged vmstat for an hour on each box under moderate load. Most providers kept steal below two percent. Contabo spiked to six percent twice, which means noisy neighbors or overcommitted hosts. For a dev environment that's fine. For production, I'd want more headroom.
Disk I/O: NVMe marketing vs. real IOPS
Every provider claims NVMe storage now. Not all NVMe is equal.
Sequential write speeds clustered between four hundred and nine hundred megabytes per second—fast enough that your app will never notice. Random 4K writes, the metric that matters for databases and WordPress, split the field in half. UpCloud, Linode, and Hostinger delivered over ten thousand IOPS. OVHcloud and Kamatera struggled to break five thousand.
If you're running MySQL or Postgres with frequent commits, those random write numbers translate directly to query latency. A slow disk will bottleneck a fast CPU every time.
One warning about Contabo's storage tier
Contabo's default plan uses shared SAN storage, not local NVMe. Speeds were acceptable for static sites but sagged during the random I/O test. They offer an NVMe upgrade; I didn't test it, but expect to pay double.
Network speed and latency
I tested inbound and outbound throughput with iperf3 from a reference box in the same data center region. Most providers saturated a gigabit link without trouble. Hetzner and OVHcloud gave me closer to two gigabits, probably because they provision faster uplinks by default.
Real-world HTTP latency—measured by curl timing to a Cloudflare edge—ranged from twelve milliseconds to thirty-five. Geography dominated here. Providers with edge locations in your target region will always beat a single-datacenter setup, no matter how fast the hardware.
Bandwidth caps and overage fees
DigitalOcean, Vultr, and Linode bundle one to three terabytes outbound per month. Hetzner and Contabo include twenty terabytes or more. If you serve large files or run a public API, read the fine print; overage fees add up fast.
Support response time: when things break
I opened a low-priority ticket at each provider asking a generic question about firewall rules. Response times ranged from eleven minutes (UpCloud) to four days (Contabo). DigitalOcean, Linode, and Vultr all answered within an hour.
For a side project, slow support is an annoyance. For a revenue-generating app, it's a line item in your SLA budget. If you need someone on the phone at 2 AM, expect to pay for a managed plan or a dedicated account rep.
Control panel and API: does it get out of your way?
Every provider offers a web console and a REST API for provisioning. DigitalOcean's dashboard is still the cleanest; Linode's redesign this year brought it close. Vultr and UpCloud have functional UIs that won't win design awards but get the job done.
Hetzner's console feels dated but loads fast and doesn't bury common tasks under three submenus. Contabo's panel is a PHP relic from 2015. If you provision everything through Terraform or Ansible, you won't care.
API rate limits and reliability
I scripted a hundred rapid-fire instance creations against each API to see what broke. DigitalOcean and Vultr handled it without flinching. Linode throttled me after sixty requests in ten minutes, which is reasonable. Kamatera's API returned 500 errors sporadically with no useful message.
Price-performance matrix: where each provider lands
If you want the fastest CPU and don't care about cost, UpCloud or Vultr. If you want the cheapest box that still performs, Hetzner or Hostinger. If you need rock-solid support and a mature ecosystem, DigitalOcean or Linode justify the premium.
Contabo and OVHcloud occupy the budget end with acceptable speed for the price, but support and tooling lag behind. Kamatera has solid hardware but an API and control panel that feel unfinished.
For a typical web app—WordPress with caching, a small Rails or Django site, a Node API—any of the top six will work fine. The decision comes down to where your users are, how much hand-holding you need, and whether you're optimizing for price or performance.
What changed since 2024
Linode's Akamai acquisition brought their network performance up; latency to Asia-Pacific improved noticeably. DigitalOcean deprecated their smallest droplet tier and nudged everyone to the four-gig plan, effectively raising the entry price by three dollars a month.
Hetzner expanded to more U.S. locations, which closed the latency gap for North American customers. Contabo stayed cheap and slow to respond but upgraded their default CPU allocation slightly.
The biggest shift is that "budget" no longer means "terrible." A five-dollar VPS in 2026 outperforms a fifteen-dollar one from three years ago, assuming you land on decent hardware.
How to reproduce these tests yourself
Spin up an instance, SSH in, and run:
# CPU benchmark
sudo apt install sysbench -y
sysbench cpu --threads=1 run
sysbench cpu --threads=2 run
# Disk I/O
sudo apt install fio -y
fio --name=seqwrite --rw=write --bs=1M --size=2G --numjobs=1
fio --name=randwrite --rw=randwrite --bs=4K --size=1G --numjobs=4
# Network throughput
sudo apt install iperf3 -y
iperf3 -c <reference-server-ip> -t 30
Run each test three times and take the median. Redeploy the instance and repeat to catch host-level variance.
What to watch for in your own tests
If CPU steal time creeps above five percent under normal load, your hypervisor is oversubscribed. If random 4K write IOPS drop below three thousand, database queries will feel sluggish. If network latency to your target region exceeds fifty milliseconds, a CDN or edge cache becomes mandatory.
Where to start if you're switching providers
Pick two providers from the top tier based on where your users are, spin up trial instances, and run the benchmark suite above. Compare the numbers to what you're getting now. If the new box is faster and cheaper, snapshot your current server, migrate your data, and update DNS. Most moves finish in an afternoon.
Don't overthink it. A mediocre VPS that you monitor and tune will outperform a flagship instance you ignore.
