Why Is My Contabo VPS So Slow? Disk Throttle vs CPU Steal
You bought a Contabo VPS with 8GB of RAM and 4 cores for the price of a 1GB box elsewhere, and it feels sluggish. Pages hang, the database crawls, an apt upgrade takes forever. You check CPU and RAM usage and they're barely touched. So what's wrong? It comes down to two things the spec sheet never mentions, and which one you've hit depends on your plan: disk IOPS on the old SSD line, or CPU steal on the NVMe line. Below is how to tell which, and what to do about each.
Cause #1: the SSD-line disk throttle
The classic cause, and still the most common, is the disk throttle on Contabo's older SSD line. Community benchmarking on LowEndTalk consistently shows it limited to roughly 1,300 IOPS, about 4-5 MB/s on 4K random I/O, despite NVMe-style branding. A normal SATA datacenter SSD does several times that. One user tracked the decline: from around 27 MB/s a few years ago to about 7.8 MB/s on the same kind of plan. Important: this throttle is specific to the SSD line, Contabo's NVMe line benchmarks at 33k-46k IOPS and does not have this problem. So step one is knowing which line you bought.
Why does the SSD-line throttle make a "powerful" box feel slow? Because most everyday server work is small, random reads and writes, not big sequential transfers. A database looking up rows, a web app reading config and writing logs, a package manager unpacking thousands of small files, all of that is 4K random I/O, which is exactly what's capped. Your 8GB of RAM sits mostly idle while everything waits in line for the disk. (If you're on the NVMe line and still slow, skip to cause #2: CPU steal.)
How to confirm it (don't guess, benchmark)
Before blaming Contabo, prove it's the disk. Run a 4K random I/O test, the community standard is the YABS script, or fio directly:
A throttled Contabo box shows a telltale pattern: sequential reads/writes look acceptable, but 4K random collapses to roughly 1,000-2,000 IOPS / 4-8 MB/s. If you see that, it's the throttle, not a misconfiguration on your end. If your 4K random numbers are healthy (tens of thousands of IOPS), then your slowness is something else (under-provisioned app, swapping, a noisy neighbor on CPU) and this article isn't your problem.
Also check CPU steal while you're at it (top, the "st" figure). Contabo nodes are often busy, and users report CPU steal spiking into the 20-50% range during business hours on busier nodes. If both your disk is throttled and your steal is high, that compounds the sluggishness, and explains why the same box can benchmark fine at 3am and struggle at 3pm.
Why RAM and CPU don't help (when it's the SSD-line disk)
This is the part that trips people up on the throttled SSD line. The instinct when a server is slow is "buy more RAM" or "get more cores." But a disk bottleneck is a queue: requests pile up waiting for the storage layer to respond, and adding RAM or CPU just gives you more idle capacity sitting behind the same blocked door. The only things that help a disk bottleneck are a faster disk (the NVMe line, or another host) or fewer disk operations, neither of which more RAM provides. Note the flip side: if you're already on NVMe and still slow, this logic doesn't apply, your problem is CPU steal, and there more cores wouldn't help either, because the steal is the host overcommitting the physical CPU, not your box lacking cores.
This is also why Contabo's whole value proposition has an asterisk. The spec sheet sells you on RAM and cores per dollar, where Contabo is unmatched. But the disk, the one spec they don't advertise a number for, is where a real workload actually lives or dies. A 2-core box with normal disk performance will frequently feel faster than Contabo's 4-core box for anything database-driven.
What you can actually do
- Reduce disk operations. Add caching (Redis/Memcached in RAM, which you have plenty of), enable a page cache for WordPress, move logs to less aggressive settings. If you can serve from memory, the throttle stops mattering, this is exactly the RAM-bound use case Contabo is actually good for.
- Ask support to lift the limit, but don't count on it. Historically Contabo would raise IO limits on request. More recently, users report being refused. Worth a ticket; not worth assuming.
- If you're on the SSD line and disk-bound, switch to Contabo's NVMe line first. That alone fixes the disk throttle (NVMe benchmarks 33k-46k IOPS vs the SSD line's ~1,300), no need to leave Contabo if disk was the only problem. It's cheap for the RAM, and on NVMe the disk keeps up.
- Or switch to a host with real disk performance. If your workload is fundamentally I/O-heavy, you're fighting the wrong tool. A host with dedicated resources and unthrottled NVMe, like Netcup's Root Server line, is built for exactly the workload Contabo throttles.
FAQ
Why is my Contabo VPS so slow when it has lots of RAM?
The bottleneck is disk, not RAM. Storage is throttled to ~1,300 IOPS (~4-5 MB/s on 4K random), about a quarter of a normal SATA SSD. Disk-touching work (databases especially) hits that ceiling while your RAM sits idle.
How do I confirm Contabo is throttling my disk?
Run a 4K random benchmark (YABS or fio). If sequential looks fine but 4K random collapses to ~1,000-2,000 IOPS / 4-8 MB/s, that's the throttle, not a broken setup. LowEndTalk benchmarks show the same pattern.
Can I get Contabo to raise my IOPS limit?
Historically yes, via a support ticket. More recently users report being refused. Worth asking, but don't buy Contabo assuming the throttle can be lifted.
Is Contabo just bad then?
No, it's mismatched if your workload is disk-heavy. For RAM-bound work (caching, in-memory apps) the throttle doesn't bite and Contabo's price per GB is unbeatable. Match the box to the workload.