The cheapest VPS that can run a real workload in 2026: 7 providers benchmarked
“Cheapest” and “can run a real workload” are two claims that VPS marketing pages make constantly and rarely prove at the same time. Every provider's pricing page has a plan under $10 a month, and every provider's benchmark page shows single-threaded sysbench numbers that mean almost nothing once your box is also running a database, a background worker, and whatever cron jobs you forgot about.
So we picked seven providers, rented the cheapest plan at each that still had enough RAM and disk to plausibly run something real — not a static landing page, an actual stack — and put the same workload on all seven. Here's what happened, what it cost, and which one we'd actually point a side project at.
What “running a real workload” actually requires
We set a floor before renting anything. A "real workload," for this test, meant a box that could run Postgres with a small but non-trivial dataset, an API process handling a moderate number of requests per second, a background worker pulling jobs off a queue, and nginx in front of it serving a handful of static assets — all on one host, which is exactly how most side projects and small production apps actually run before anyone bothers with orchestration.
That rules out a lot of the rock-bottom plans that only have 512MB–1GB of RAM. Postgres alone wants headroom for shared buffers and OS page cache, and once you add an application runtime and a worker process, 1GB disappears fast and the box starts swapping, which is where "cheap" VPS reviews usually stop measuring and start lying by omission.
We also cared about three things marketing pages rarely mention: whether the vCPU is dedicated or shared with other tenants, whether disk IOPS are sustained or just a burst credit that runs out, and whether the advertised bandwidth is actually free or quietly metered after a cap.
How we tested: the same job on seven boxes
Every provider got the same Ubuntu 24.04 LTS image, the same hardening script, and the same Docker Compose stack: Postgres 16, a small Node API, a worker consuming a Redis queue, and nginx as a reverse proxy. We ran four tests on each box, in this order, with a clean reboot between the synthetic benchmarks and the load test:
- sysbench CPU — single-threaded and 4-thread event throughput, to catch both raw clock speed and shared-core contention.
- fio — random 4k read/write IOPS against the data volume, to see sustained performance rather than a marketing-deck peak.
- iperf3 — against a fixed reference host, to sanity-check the advertised network tier.
- A 10-minute load test against the actual Compose stack using Locust, ramping to 60 concurrent simulated users, watching p95 latency and the error rate.
We opened a low-priority billing question with each provider's support desk at the same time, purely to time first response — more on that further down.
Seven providers, plans, and price per month
| Provider | Plan | $/mo | vCPU / RAM | Disk | Sign up |
|---|---|---|---|---|---|
| Hetzner Cloud | CPX21 | $9.49 | 3 vCPU / 4GB | 80GB NVMe | Sign up |
| OVHcloud | VPS Comfort | $14.00 | 2 vCPU / 4GB | 80GB NVMe | Sign up |
| DigitalOcean | Premium AMD 4GB | $18.00 | 2 vCPU / 4GB | 80GB SSD | Sign up |
| Vultr | High Frequency 4GB | $18.00 | 2 vCPU / 4GB | 128GB NVMe | Sign up |
| Contabo | Cloud VPS 10 | $6.99 | 3 vCPU / 8GB | 150GB NVMe | Sign up |
| Akamai Cloud Compute (Linode) | Dedicated 4GB | $24.00 | 2 vCPU / 4GB | 80GB NVMe | Sign up |
| Oracle Cloud | Always Free Ampere A1 | $0.00 | up to 4 OCPU / 24GB | 200GB block | Sign up |
The spread on paper is enormous — Contabo's $6.99 plan lists more RAM and disk than Akamai's $24 plan — and that gap is exactly why spec sheets alone are useless here. We let the Oracle and Contabo prices stand even though they look almost too good, because the whole point of this post is finding out whether they hold up.
CPU, disk, and network benchmarks
Sysbench CPU, 4-thread events per second (higher is better):
Hetzner CPX21: 14,820
Akamai/Linode (dedicated): 15,960
Vultr: 9,340
DigitalOcean: 9,110
OVHcloud: 8,675
Oracle (Ampere A1, 4 OCPU): 11,240
Contabo: 6,980 ← shared 3 vCPU, heavily oversubscribed at peak hours
Disk, via fio random 4k write, sustained over 60 seconds rather than the first-10-seconds burst number most reviews quote:
fio --name=randwrite --ioengine=libaio --rw=randwrite \
--bs=4k --direct=1 --size=1G --numjobs=4 --runtime=60 \
--group_reporting
Hetzner CPX21: 58,900 IOPS
Akamai (Linode): 51,300 IOPS
Vultr: 36,400 IOPS
DigitalOcean: 33,800 IOPS
Oracle (Ampere A1): 29,150 IOPS
OVHcloud: 24,600 IOPS
Contabo: 11,200 IOPS ← dropped to ~4,000 IOPS during a re-run at 6pm local time
That Contabo number is the one worth dwelling on. Its first fio run looked almost respectable; a second run four hours later, during evening peak hours on the same host, came in at roughly a third of that. Nothing in the dashboard told us why — which is the overselling problem in one data point.
Under the actual Locust load test, the ranking mostly tracked the CPU and disk numbers: Hetzner and Akamai held p95 latency under 180ms through the full ramp, DigitalOcean and Vultr stayed under 300ms, Oracle's free ARM instance was respectable until around 45 concurrent users and then latency climbed sharply, and Contabo's error rate crossed 2% past 30 concurrent users with multiple Postgres connection timeouts.
Support, overselling, and the fine print
Before trusting any provider's "vCPU" number, check whether it's described as dedicated, shared, or burstable in their own documentation — not in a sales email. Burstable cores can look great in a 10-second benchmark and fall apart under 10 minutes of real traffic, which is exactly what happened to Contabo here.
Support response times, from opening a basic billing question to first human reply:
- Hetzner: 41 minutes
- DigitalOcean: 1 hour 10 minutes
- Vultr: 2 hours 5 minutes
- Akamai/Linode: 2 hours 40 minutes
- OVHcloud: 6 hours 15 minutes
- Oracle Cloud: 9 hours, and the free tier explicitly has no SLA on support
- Contabo: 14 hours, via a ticket queue with no live chat option
Hidden costs matter as much as the sticker price. Oracle's Always Free Ampere capacity is genuinely free forever if you can get it, but popular regions routinely show "Out of host capacity" for new A1 instances — we needed four attempts across two regions to provision ours. Contabo's listed price doesn't include a setup fee that shows up at checkout for some plans. Akamai's dedicated-CPU pricing is the only one of the seven with no asterisks we could find, which is partly why it costs the most.
Which provider fits which workload
Based on the numbers above, here's how we'd actually route a workload:
- Side project or hobby API with light traffic: Hetzner CPX21 at $9.49/mo — the best performance-per-dollar by a wide margin, as long as you're fine with EU/US-only datacenters.
- Zero budget, willing to gamble on capacity: Oracle's Always Free Ampere tier, kept running with a scheduled reprovision script in case it ever gets reclaimed, which Oracle's terms permit them to do.
- Client work where predictable billing matters more than raw speed: DigitalOcean — the documentation and dashboard make it the easiest to hand off to someone else.
- Latency-sensitive app with users spread globally: Vultr, for the wider spread of regions at the same price point as DigitalOcean.
- Anything where a noisy neighbor would actually hurt you — billing, auth, payments: Akamai Cloud Compute's dedicated tier, worth the extra $6–15/mo over the shared-core options.
- Anything you plan to put real traffic on: not Contabo, despite the spec sheet. The oversubscription problem isn't theoretical here — we measured it.
Our pick, and where to sign up
For most people reading a post titled "the cheapest VPS that can run a real workload," the honest answer is Hetzner Cloud's CPX21. At $9.49 a month it beat providers charging two and a half times as much on both the synthetic benchmarks and the actual load test, and the only real downside is a smaller set of regions than DigitalOcean or Vultr.
If low latency to a specific region outside Hetzner's footprint matters more than squeezing the price, DigitalOcean and Vultr are both safe, boring, well-documented choices at $18/mo. If you've already got Postgres and a worker running comfortably and you're tempted by Contabo's spec sheet, rent it for a week on a throwaway project first — the number on the pricing page and the number we measured at 6pm were not the same VPS.