Hetzner CAX (ARM) vs CX (x86) for production workloads — worth the switch?
Hey everyone,
I've been running a couple of CX22 instances on Hetzner for about a year now, mostly handling Node.js APIs and a few PostgreSQL databases. Lately I've been eyeing the CAX line (Ampere ARM) since the price-to-performance ratio looks insane on paper.
Has anyone actually migrated production workloads from CX to CAX? I'm curious about
- Compatibility issues — any npm packages or Docker images that just refuse to build on ARM?
- Real-world benchmarks — is the improvement as dramatic as Hetzner's marketing suggests?
- Database performance — specifically PostgreSQL under moderate write loads (~500 TPS)
My main concern is that some of our older dependencies might not have ARM builds, and I really don't want to deal with QEMU emulation in production.\n\nAny experiences or gotchas would be appreciated.
Edited at 25 Mar 2026, 20:06
Ran CAX11 for Node.js + Postgres for 4 months now. No compatibility issues with npm packages honestly—most maintainers are on top of ARM builds these days. Docker images can be hit-or-miss depending on what you're pulling, but node:18-alpine builds fine.
Performance-wise, single-core is snappier than CX22, but multi-threaded workloads don't scale as well. For APIs you're probably fine. Just test your exact stack first—spin up a CAX for a week before migrating everything. The pricing difference makes it worth the validation step.
Worth noting: CAX will hit you hard on single-threaded perf compared to CX, which matters for Postgres. ARM Ampere cores are solid but clocked lower. Run sysbench on both before committing—especially if you're doing any heavy analytics queries. The price difference might evaporate once you factor in needing a slightly larger instance. YMMV depending on your workload patterns.
One thing nobody mentions: ARM CAX can starve on I/O under load. If your Postgres is doing heavy index scans or your Node app is hammering the disk, you'll feel it. The 4 vCPU story on CAX11 vs CX22 is misleading—CAX cores are weaker individually. Test with your actual workload under realistic concurrency before migrating.
Thanks for the detailed takes, everyone! @netrunner that's reassuring about npm packages. @pg_tuner and @switchblade — good point about single-threaded perf and I/O bottlenecks, especially since our Postgres instance handles some beefy queries. Think I'll spin up a CAX11 test instance and run sysbench against our actual workload before migrating. Cheers!
One thing I'd test before migrating: compile a sample Node.js binary on CAX and check if you're actually getting the perf gains everyone advertises. ARM does great on throughput but the clock speeds are lower, so your 80ms API calls might become 95ms. If you're CPU-bound on Postgres queries though, multi-core CAX can actually pull ahead. Run a 1-week test on CAX11 with real traffic mirroring, not synthetic benchmarks.