Most Node.js developers default to DigitalOcean because it's what every tutorial uses. I did too — until I checked the bill.
A 4GB DigitalOcean Premium droplet costs $24/month. A Hetzner CX22 with the same specs costs €4.35/month. That's a 5× price difference. So I ran the benchmarks to find out what you actually give up.
The Setup
-
Tool:
autocannon— 10 concurrent connections, 60-second sustained load - App: Standard Express.js API returning JSON
- Runtime: Node.js v25 on Ubuntu 22.04
- Tiers compared: Both at 2 vCPU / 4GB RAM (equivalent specs)
Results
Throughput (requests per second)
| Provider | Plan | RPS | Price/mo |
|---|---|---|---|
| Hetzner | CX22 (2 vCPU, 4GB) | 4,250 | ~€4.35 |
| DigitalOcean | Premium AMD (2 vCPU, 4GB) | 4,100 | ~$24.00 |
| DigitalOcean | Basic (1 vCPU, 2GB) | 2,300 | $6.00 |
Hetzner is ~3.5% faster than DigitalOcean Premium at the same spec tier. For a 5× price difference, that's not a typo.
Disk I/O — npm install speed
Installing a real project with 300+ dependencies:
- Hetzner CX22: 18.4 seconds
- DigitalOcean Premium: 21.2 seconds
Hetzner uses NVMe over Fabrics (NVMe-oF) which consistently outperformed DO in sequential read/write tests with fio.
Bandwidth included
| Provider | Included bandwidth |
|---|---|
| Hetzner CX22 | 20 TB/month |
| DigitalOcean Premium | 4 TB/month |
If you're serving large assets or have high-traffic APIs, this matters a lot.
Why the price gap is this large
Hetzner is a European DC operator with 30+ years in infrastructure. They don't have a venture-backed marketing budget or a $200M/year developer relations program. What they do have is AMD EPYC Milan/Genoa nodes, NVMe storage, and 20TB of transfer — at a price point that makes no sense until you use it.
DigitalOcean Premium uses similar EPYC hardware, but you're paying for the platform: managed databases, one-click apps, a polished dashboard, live chat support, and 14+ global regions.
When to pick which
Hetzner CX22 if:
- You're comfortable with SSH, PM2, and Nginx
- Your users are in Europe or North America
- You want maximum Node.js throughput per euro
- You're a solo dev or small team that can handle their own incidents
DigitalOcean if:
- You need managed Postgres, Redis, or S3-compatible storage
- Your users are globally distributed (DO has 14+ regions vs Hetzner's 5)
- You need live chat support or hourly billing for ephemeral environments
- You're working with a team that can't deal with Linux emergencies at 2am
The verdict
For 90% of solo developers and early-stage startups, Hetzner CX22 is the better choice. You get equivalent raw performance for a fraction of the cost. The only real trade-offs are fewer regions and ticket-only support.
I migrated a Node.js API from DigitalOcean Basic ($12/mo) to Hetzner CX22 (€4.35/mo) and saw slightly better response times with the same PM2 + Nginx setup. The monthly bill dropped by ~$8 for a server that's technically more capable.
Full methodology, raw fio and autocannon output, and a complete setup guide at vpsfor.dev →
Top comments (0)