Marketing promises mean nothing when you're spinning up production infrastructure. You need numbers.
I ran the same battery of tests across nine popular VPS providers to measure what matters: how fast your server boots, how your network responds under load, and whether your disk I/O can handle a real workload. This isn't about spec sheets or sales copy. It's about repeatability.
The test environment
Every provider was tested with a 2 vCPU, 4 GB RAM instance running Ubuntu 22.04 LTS. I chose the closest data center to New York for consistency—usually US East or equivalent. No custom kernels, no performance tuning, just the stock image each host provides.
Three metrics:
- Boot time from API call to SSH-ready, measured five times per provider
- Network latency using MTR to eight global endpoints, 100 packets each
- Disk I/O with
fiorunning sequential and random read/write patterns
Each test ran during off-peak hours (02:00–06:00 UTC) to reduce noisy neighbor interference. I repeated the full suite twice, two weeks apart.
Boot time results
Boot time matters more than you think. Fast provisioning means faster auto-scaling, quicker disaster recovery, and less time waiting during deployments.
DigitalOcean and Vultr consistently booted in under 25 seconds from API call to SSH response. Linode came in around 30 seconds. Hetzner and Contabo took 45–60 seconds—not terrible, but noticeable when you're spinning up multiple instances.
The slowest? OVH and IONOS regularly exceeded 90 seconds. One OVH test hit two minutes.
AWS Lightsail and Google Cloud's e2-small instances both landed in the 35–40 second range, which is acceptable but not impressive given their pricing premium.
Command I used:
time ssh -o StrictHostKeyChecking=no root@$IP 'echo ready'
Timed from the moment the API returned a success response.
Network latency patterns
I tested routes to London, Frankfurt, Singapore, Tokyo, Sydney, São Paulo, Mumbai, and Los Angeles using MTR. What I care about: average latency, packet loss, and consistency.
Vultr showed the tightest latency distribution. Their network rarely spiked, and packet loss stayed under 0.1% across all routes. DigitalOcean performed similarly but had occasional 2–3% loss to Asia-Pacific endpoints during peak hours.
Linode's network was fast to US and EU destinations but showed higher jitter (±15ms variance) to APAC. If your traffic is mostly North America and Europe, you won't notice. If you serve global users, it matters.
Hetzner's network is a mixed bag. Germany-based tests were excellent—sub-5ms to major EU cities. But trans-Atlantic and Asia routes suffered from inconsistent peering, with some packets taking bizarre detours through tertiary providers.
Contabo had the worst peering I've seen in years. Routes to Singapore regularly traversed three extra hops through Eastern Europe before hitting APAC. Latency to Tokyo averaged 285ms when it should be closer to 180ms.
AWS and GCP have premium network tiers that live up to their reputation. Packet loss was effectively zero, and latency was predictable. You pay for it, though.
Testing your own latency
Run this to eight diverse endpoints:
mtr -rwc 100 target-host.com
Look at the Avg, StDev, and Loss columns. Standard deviation over 10ms suggests routing instability.
Disk I/O breakdown
I used fio with these patterns:
# Sequential read
fio --name=seqread --rw=read --bs=1M --size=2G --numjobs=1 --runtime=60 --time_based
# Sequential write
fio --name=seqwrite --rw=write --bs=1M --size=2G --numjobs=1 --runtime=60 --time_based
# Random read (4K blocks)
fio --name=randread --rw=randread --bs=4K --size=1G --numjobs=4 --runtime=60 --time_based
# Random write (4K blocks)
fio --name=randwrite --rw=randwrite --bs=4K --size=1G --numjobs=4 --runtime=60 --time_based
Sequential reads and writes simulate backups, log processing, and large file transfers. Random I/O mimics database workloads.
DigitalOcean's SSD-backed volumes delivered 400–450 MB/s sequential reads and 8,000–9,500 IOPS on random 4K reads. Write performance was slightly lower but still strong. Their NVMe instances push even higher, but those cost more.
Vultr and Linode clustered in the same range: 380–420 MB/s sequential, 7,500–8,800 IOPS random. Consistent and predictable.
Hetzner surprised me. Their basic SSD instances hit 500+ MB/s sequential and regularly topped 10,000 IOPS on random reads. For the price, that's exceptional. Write performance had more variance—sometimes it would dip to 6,000 IOPS, but it always recovered.
Contabo uses older SSD hardware. Sequential speeds stayed under 300 MB/s, and random I/O rarely broke 5,000 IOPS. If you're running a database with moderate concurrency, you'll feel the difference.
OVH and IONOS both struggled with random writes, dropping as low as 3,500 IOPS during peak times. I suspect oversubscribed storage backends.
AWS Lightsail and GCP e2 instances use network-attached storage, so results depend on instance size and provisioned IOPS. The base tier gave me 200–250 MB/s sequential and around 3,000–4,000 IOPS random. You can pay for more, but then you're no longer comparing apples to apples.
So what about CPU performance?
I didn't focus on CPU benchmarks because they're less useful for comparing VPS hosts. You're buying virtual cores, and their performance depends on hypervisor load, host CPU model, and steal time.
That said, I did run sysbench cpu on each instance as a sanity check. No provider showed abnormal steal time (all under 2%), and single-thread performance clustered tightly—within 10% of each other. Multi-threaded tests reflected the core count you paid for.
If you need guaranteed CPU performance, look for providers offering dedicated vCPUs or bare metal options.
Pricing reality check
I'm not listing exact prices because they shift constantly with promotions and region-specific offers. But the general pattern holds:
- Budget tier: Contabo, IONOS, OVH. Cheap, but you get what you pay for in network and disk performance.
- Mid-tier: Vultr, DigitalOcean, Linode. Best balance of price and performance for most workloads.
- Premium: AWS Lightsail, Google Cloud. You pay extra for their global network and ecosystem integrations.
- Value outlier: Hetzner. European provider with excellent hardware specs at mid-tier pricing, but support is slower and network peering outside Europe can be inconsistent.
If your workload is latency-sensitive or database-heavy, spending an extra few dollars per month on a mid-tier provider pays for itself in reduced troubleshooting time.
Provider-specific notes
DigitalOcean has the cleanest API and best documentation. Their control panel is fast, and droplet management is straightforward. Network reliability is excellent. Disk I/O is good but not the fastest.
Vultr offers the best network performance in my tests. Their global backbone consistently delivered low latency and near-zero packet loss. Storage performance matches DigitalOcean. Control panel is functional but less polished.
Linode (now owned by Akamai) benefits from Akamai's network for certain routes. Solid all-around performance. Their documentation and support response times are strong. Pricing is competitive with DigitalOcean.
Hetzner gives you more hardware for your money, especially in Europe. If your users are primarily European and you don't need hand-holding support, it's hard to beat. Just be aware their Terms of Service are stricter about content and usage.
Contabo is for hobbyists and non-critical projects. The price is attractive, but performance variance is high. I've seen the same test yield wildly different results depending on time of day.
OVH has a massive global footprint and bare metal options that are compelling. But their VPS line feels neglected—boot times are slow, and disk I/O is inconsistent. If you need OVH, go for their dedicated servers instead.
AWS Lightsail makes sense if you're already in the AWS ecosystem and want a simpler interface than EC2. Performance is fine, but you're paying a premium for integration convenience.
Google Cloud e2 instances are cost-optimized, which shows in the performance numbers. They're adequate, but if you're using GCP, you're probably better off with n2 or c2 instance families.
IONOS (formerly 1&1) is cheap but unimpressive across the board. I only included them because they have a large European customer base. Boot times lag, network peering is mediocre, and disk I/O is inconsistent.
What I'd choose for different workloads
For a production web application with global users, I'd pick Vultr or DigitalOcean. Reliable network, predictable performance, and good documentation reduce operational overhead.
For a European SaaS product, Hetzner offers the best hardware-to-price ratio. Just make sure you have a backup plan if support takes longer than expected.
For development and staging environments, Contabo or IONOS will save you money. Performance inconsistencies don't matter as much in non-production.
For database-heavy workloads, prioritize disk I/O. DigitalOcean, Vultr, or Hetzner all handle sustained random I/O well. Avoid Contabo and IONOS unless you're running read-mostly workloads.
For latency-critical APIs, AWS or GCP give you the best global network. You'll pay more, but your 99th percentile response times will thank you.
What about support?
Support quality varies wildly and isn't captured in benchmarks. DigitalOcean, Linode, and Vultr all offer responsive ticket-based support. Hetzner support is slower but competent. Contabo support is minimal—expect community forums to be your first resource.
AWS and GCP enterprise support costs extra and is overkill unless you're running at scale.
Repeatability matters more than peaks
The best performers weren't always the fastest in a single test. They were the most consistent across multiple runs. When DigitalOcean says 25 seconds boot time, you get 25 seconds. When Contabo says it, you might get 45 seconds or 90.
Consistency reduces debugging. If your disk I/O suddenly drops by 40%, you don't know if it's your application, your queries, or your provider's oversubscribed hardware. Reliable providers eliminate one variable.
What to prioritize in 2026
Network quality matters more than raw specs. A 4-core VPS with inconsistent peering will frustrate your users more than a 2-core instance with tight latency. Test your provider's network to the regions you care about before committing.
Disk I/O consistency separates budget from professional hosts. If you're running databases or handling moderate concurrency, an extra two dollars per month for predictable IOPS is worth it.
Boot time reflects infrastructure maturity. Providers that provision quickly usually have better automation, more reliable APIs, and fewer surprise maintenance windows.
Run your own tests. These benchmarks show general patterns, but your workload might behave differently. Spin up a trial instance, deploy your stack, and measure what matters to your application.
