This page collects every measurement the Lab has published so far: five Hetzner Cloud servers in Helsinki (CX23, CX33, CX43 on x86 and CAX11, CAX21 on ARM), all rented and tested on 5 November 2026 with the same scripts, plus our production n8n server. Every table on the rest of the site is rendered from the same data file, so a number reads the same everywhere. The method is described in how we test.
System: CPU, memory, disk, network
| Server | CPU 1 thread events/s | CPU all threads events/s | Memory MiB/s | Disk 4k read IOPS | Disk 4k write IOPS | Disk seq. read | Download | CPU steal | Price / mo |
|---|---|---|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | 914 | 1,823 | 4,098 | 53,050 | 47,996 | 2,965 MB/s | 285 Mbit/s | 0.0 % | 6.64 €incl. VAT |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 1,621 | 6,453 | 4,974 | 41,644 | 35,013 | 1,936 MB/s | 781 Mbit/s | 0.0 % | 10.27 €incl. VAT |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 3,470 | 26,697 | 4,968 | 45,005 | 42,104 | 2,338 MB/s | 835 Mbit/s | 0.0 % | 19.35 €incl. VAT |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 3,248 | 6,550 | 4,171 | 48,554 | 42,051 | 2,370 MB/s | 567 Mbit/s | 0.0 % | 7.25 €incl. VAT |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 3,307 | 13,210 | 4,264 | 53,796 | 46,019 | 2,490 MB/s | 381 Mbit/s | 0.0 % | 12.69 €incl. VAT |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
Ollama on CPU: tokens per second
| Server | Model | Generation tokens/s | Prompt tokens/s | Load time | RAM used (system) | Note |
|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.2 1B | 10.3 | 454.0 | 3.5 s | 2,001 MiB | |
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.2 3B | 5.8 | 325.2 | 8.8 s | 3,002 MiB | |
| Hetzner CX232 vCPU · 4 GB · x86_64 | Llama 3.1 8B | did not run | – | – | – | OOM-killed after ~50 s: Ollama fit check reported it would leave 1698 MiB free, |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.2 1B | 23.2 | 1,322.8 | 2.0 s | 2,205 MiB | |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.2 3B | 13.5 | 776.5 | 3.7 s | 3,068 MiB | |
| Hetzner CX334 vCPU · 8 GB · x86_64 | Llama 3.1 8B | 6.3 | 258.6 | 10.0 s | 5,941 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.2 1B | 37.5 | 1,910.9 | 1.7 s | 2,293 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.2 3B | 21.2 | 1,161.3 | 3.7 s | 3,196 MiB | |
| Hetzner CX438 vCPU · 15 GB · x86_64 | Llama 3.1 8B | 9.7 | 447.4 | 7.9 s | 6,023 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.2 1B | 15.0 | 835.5 | 4.8 s | 2,203 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.2 3B | 6.5 | 376.4 | 6.0 s | 3,214 MiB | |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | Llama 3.1 8B | did not run | – | – | – | llama-server process has terminated: exit status 1: ggml_aligned_malloc: insuffi |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.2 1B | 26.8 | 1,427.1 | 3.2 s | 2,315 MiB | |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.2 3B | 12.2 | 664.1 | 5.2 s | 3,282 MiB | |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | Llama 3.1 8B | 5.7 | 226.5 | 12.3 s | 5,796 MiB |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
n8n: webhook load test
| Server | Concurrent requests | Executions/s | Median | p95 | Failed | n8n peak RAM |
|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | 1 | 10.1 | 104 ms | 162 ms | 0 | 520 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 10 | 14.8 | 697 ms | 893 ms | 0 | 660 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 25 | 15.0 | 1,651 ms | 1,936 ms | 0 | 825 MiB |
| Hetzner CX232 vCPU · 4 GB · x86_64 | 50 | 14.2 | 3,445 ms | 3,954 ms | 0 | 1,003 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 1 | 13.5 | 72 ms | 133 ms | 0 | 543 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 10 | 31.9 | 311 ms | 438 ms | 0 | 574 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 25 | 29.5 | 841 ms | 986 ms | 0 | 803 MiB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 50 | 30.1 | 1,647 ms | 1,846 ms | 0 | 1,050 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 1 | 14.6 | 78 ms | 123 ms | 0 | 546 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 10 | 36.1 | 280 ms | 341 ms | 0 | 544 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 25 | 35.0 | 714 ms | 800 ms | 0 | 694 MiB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 50 | 32.4 | 1,539 ms | 1,682 ms | 0 | 1,016 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 1 | 10.3 | 113 ms | 156 ms | 0 | 585 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 10 | 13.9 | 755 ms | 934 ms | 0 | 640 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 25 | 12.9 | 1,909 ms | 2,279 ms | 0 | 729 MiB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 50 | 13.2 | 3,786 ms | 4,114 ms | 0 | 1,038 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 1 | 12.0 | 107 ms | 128 ms | 0 | 539 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 10 | 25.4 | 402 ms | 528 ms | 0 | 579 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 25 | 25.8 | 965 ms | 1,106 ms | 0 | 824 MiB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 50 | 24.5 | 2,019 ms | 2,197 ms | 0 | 859 MiB |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
n8n: production install
| n8n 2.46.6 on Hetzner CX23 | Measured |
|---|---|
| Docker install | 22 s |
| Image pull + first start to healthy | 105 s |
| n8n RAM right after start | 785.3 MiB |
| n8n RAM idle (after ~60 s) | 379.7 MiB |
| PostgreSQL 16 RAM idle | 69.6 MiB |
| Whole server RAM used, idle | 1036 MiB of 3,814 |
| n8n image size | 1.94GB |
| Disk used after install | 4.7G of 38G |
Measured by AI Hosting Lab on 2026-11-05 · docker compose: n8n + postgres:16, docker.io from Ubuntu repo, task runners on · method
Supabase: official docker compose, idle
| Server | Containers | RAM (containers) | RAM used (system) | Fits? | Image pull | Disk (images) |
|---|---|---|---|---|---|---|
| Hetzner CX232 vCPU · 4 GB · x86_64 | 11 | 1,399 MiB | 1,594 MiB | yes | 111 s | 9.563GB |
| Hetzner CX334 vCPU · 8 GB · x86_64 | 11 | 1,316 MiB | 1,732 MiB | yes | 50 s | 9.563GB |
| Hetzner CX438 vCPU · 15 GB · x86_64 | 11 | 1,101 MiB | 1,870 MiB | yes | 29 s | 9.563GB |
| Hetzner CAX112 vCPU · 4 GB · aarch64 | 11 | 1,562 MiB | 1,564 MiB | yes | 99 s | 10.14GB |
| Hetzner CAX214 vCPU · 8 GB · aarch64 | 11 | 1,318 MiB | 1,712 MiB | yes | 52 s | 10.14GB |
Measured by AI Hosting Lab on 2026-11-05 · 5 servers · method · raw data
Hetzner prices from the API
| Plan | CPU | vCPU | RAM | Disk | Per month excl. VAT | Per month incl. 21% VAT | Per hour incl. VAT |
|---|---|---|---|---|---|---|---|
| CAX11 | arm | 2 | 4 GB | 40 GB | 5.99 € | 7.25 € | 0.0116 € |
| CAX21 | arm | 4 | 8 GB | 80 GB | 10.49 € | 12.69 € | 0.0203 € |
| CAX31 | arm | 8 | 16 GB | 160 GB | 20.99 € | 25.40 € | 0.0407 € |
| CAX41 | arm | 16 | 32 GB | 320 GB | 40.99 € | 49.60 € | 0.0795 € |
| CCX13 | x86 | 2 | 8 GB | 80 GB | 42.99 € | 52.02 € | 0.0834 € |
| CCX23 | x86 | 4 | 16 GB | 160 GB | 85.99 € | 104.05 € | 0.1667 € |
| CCX33 | x86 | 8 | 32 GB | 240 GB | 138.49 € | 167.57 € | 0.2685 € |
| CCX43 | x86 | 16 | 64 GB | 360 GB | 275.99 € | 333.95 € | 0.5352 € |
| CCX53 | x86 | 32 | 128 GB | 600 GB | 533.49 € | 645.52 € | 1.0346 € |
| CCX63 | x86 | 48 | 192 GB | 960 GB | 853.49 € | 1,032.72 € | 1.6550 € |
| CPX11 | x86 | 2 | 2 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CPX02 | x86 | 1 | 1 GB | 20 GB | 5.99 € | 7.25 € | 0.0116 € |
| CPX21 | x86 | 3 | 4 GB | 80 GB | 9.49 € | 11.48 € | 0.0184 € |
| CPX12 | x86 | 1 | 2 GB | 40 GB | 11.49 € | 13.90 € | 0.0223 € |
| CPX31 | x86 | 4 | 8 GB | 160 GB | 17.49 € | 21.16 € | 0.0339 € |
| CPX22 | x86 | 2 | 4 GB | 80 GB | 19.49 € | 23.58 € | 0.0378 € |
| CPX41 | x86 | 8 | 16 GB | 240 GB | 32.49 € | 39.31 € | 0.0630 € |
| CPX32 | x86 | 4 | 8 GB | 160 GB | 35.49 € | 42.94 € | 0.0688 € |
| CPX42 | x86 | 8 | 16 GB | 320 GB | 69.49 € | 84.08 € | 0.1348 € |
| CPX51 | x86 | 16 | 32 GB | 360 GB | 70.99 € | 85.90 € | 0.1377 € |
| CPX52 | x86 | 12 | 24 GB | 480 GB | 100.49 € | 121.59 € | 0.1948 € |
| CPX62 | x86 | 16 | 32 GB | 640 GB | 129.99 € | 157.29 € | 0.2520 € |
| CX23 | x86 | 2 | 4 GB | 40 GB | 5.49 € | 6.64 € | 0.0106 € |
| CX33 | x86 | 4 | 8 GB | 80 GB | 8.49 € | 10.27 € | 0.0165 € |
| CX43 | x86 | 8 | 16 GB | 160 GB | 15.99 € | 19.35 € | 0.0310 € |
| CX53 | x86 | 16 | 32 GB | 320 GB | 29.49 € | 35.68 € | 0.0572 € |
From the Hetzner Cloud API, location hel1, checked 2026-11-05. "Incl. VAT" is what our Czech (EU consumer) account pays; businesses and buyers outside the EU usually pay the price excl. VAT. Primary IPv4 is billed separately.
Raw data
The combined file is /data/lab.json. Per-server files:
- hetzner-hel1-2026-11-05.json
- 2026-11-05_hetzner-cax11-hel1_bench.json
- 2026-11-05_hetzner-cax11-hel1_n8n-load.json
- 2026-11-05_hetzner-cax21-hel1_bench.json
- 2026-11-05_hetzner-cax21-hel1_n8n-load.json
- 2026-11-05_hetzner-cx23-hel1_bench.json
- 2026-11-05_hetzner-cx23-hel1_n8n-install.json
- 2026-11-05_hetzner-cx23-hel1_n8n-load.json
- 2026-11-05_hetzner-cx33-hel1_bench.json
- 2026-11-05_hetzner-cx33-hel1_n8n-load.json
- 2026-11-05_hetzner-cx43-hel1_bench.json
- 2026-11-05_hetzner-cx43-hel1_n8n-load.json
The scripts that produced them, bench.sh and n8n_load.sh, are shown in full on how we test. Data is free to reuse with credit (CC BY 4.0).
What's next in the Lab
Next up are Hostinger, DigitalOcean and Vultr on the same scripts, followed by n8n queue mode and more models. Pages that depend on a test show up only once the data is in. Start with the result most people ask about: the best VPS for n8n.
Hetzner prices on this page include 21% VAT, as charged to our Czech (EU consumer) account by the Hetzner API on 2026-11-05. Without VAT (businesses, most buyers outside the EU): CX23 5.49 €, CX33 8.49 €, CX43 15.99 €, CAX11 5.99 €, CAX21 10.49 € per month.

