# Hetzner CPX11

Hillsboro, OR

Benchmark complete

Finished Oct 20, 2026

Geekbench 7 single-core

1,383

Faster than 64% of 2 vCPU plans

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

55,668

fio random read and write, 50/50

Monthly price at test time

$20.49

Same price today

## Server

[Hetzner](https://rackcensus.com/vps-providers/hetzner-benchmarks)[CPX11](https://rackcensus.com/plans/hf6iex-hetzner-cpx11-benchmarks?location=hil)

-

Provider

Hetzner

-

Plan

CPX11

-

Location

Hillsboro, OR

-

vCPU

2

-

RAM

2 GB

-

Storage

40 GB NVMe

-

Network

Unknown

-

OS image

ubuntu-24.04

-

Trigger

Scheduled

-

Queued at

Oct 19, 2026, 08:54:00 UTC

[Visit Hetzner](https://rackcensus.com/go/hetzner)

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 1,383 | Skipped | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/675184) |

Multi-core was skipped because Geekbench 7 needs about 3.1 GB of free memory to run 2 threads, and this server didn't have that much. Single-core needs much less, so it still ran.

Scores from different Geekbench versions aren't comparable with each other. Charts only use Geekbench 7.

### Geekbench 7 workloads

| Workload | Single-core | Multi-core |
| --- | --- | --- |
| File Compression | 1,4457th of 25 | Single-core only |
| Navigation | 1,4757th of 25 | Single-core only |
| HTML5 Browser | 1,27410th of 25 | Single-core only |
| PDF Viewer | 1,4658th of 25 | Single-core only |
| Photo Library | 1,2846th of 25 | Single-core only |
| Clang | 1,13614th of 25 | Single-core only |
| Text Processing | 1,23610th of 25 | Single-core only |
| Asset Compression | 1,3847th of 25 | Single-core only |
| HDR | 1,3827th of 25 | Single-core only |
| Photo Editor | 1,6326th of 25 | Single-core only |
| Ray Tracer | 1,3098th of 25 | Single-core only |
| Structure from Motion | 1,7086th of 25 | Single-core only |
| Game Physics | 1,3097th of 25 | Single-core only |
| Video Encoder | 1,3108th of 25 | Single-core only |
| Audio Encoder | 1,4297th of 25 | Single-core only |
| Video Player | 1,4629th of 25 | Single-core only |

Rank among the 25 runs with Geekbench 7 workload scores. Bars are relative to the best run. Geekbench doesn't run every workload multi-core, so some rows only have a single-core score.

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 108.6 MB/s (27,797 IOPS) | 108.9 MB/s (27,871 IOPS) | 217.5 MB/s (55,668 IOPS) |
| 64K | 1.03 GB/s (16,907 IOPS) | 1.04 GB/s (16,996 IOPS) | 2.07 GB/s (33,903 IOPS) |
| 512K | 1.5 GB/s (3,069 IOPS) | 1.58 GB/s (3,232 IOPS) | 3.08 GB/s (6,301 IOPS) |
| 1M | 1.6 GB/s (1,635 IOPS) | 1.7 GB/s (1,744 IOPS) | 3.3 GB/s (3,379 IOPS) |

fio random read and write, 50/50, run by YABS against the boot disk.

## Network

### IPv4 transfer speed

Loading...

| Target | Protocol | Send | Receive |
| --- | --- | --- | --- |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 4.94 Gbps | 8.51 Gbps |
| Clouvider, London, UK (10G) | IPv4 | 1.14 Gbps | 1.05 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 1.05 Gbps | 1.42 Gbps |

Public iperf3 servers vary in capacity and availability. Compare a target only with itself over time.

## Application workloads

### PostgreSQL transactions
Measured

Durable transfers and indexed account lookups against a fixed relational dataset.

PostgreSQL transactions measurements| Repeat | Offered / s | transactions/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 100 | 100 | 5.56 / 6.84 | 0 / 0 | Met workload limits |
| 1 | 500 | 498.32 | 4.48 / 5.69 | 0 / 301 | Met workload limits |
| 1 | 1000 | 995.01 | 4.59 / 5.82 | 0 / 898 | Met workload limits |
| 1 | 3000 | 2985.23 | 4.06 / 5.56 | 0 / 2655 | Met workload limits |
| 2 | 100 | 100 | 5.36 / 6.61 | 0 / 0 | Met workload limits |
| 2 | 500 | 498.29 | 4.59 / 5.76 | 0 / 307 | Met workload limits |
| 2 | 1000 | 994.9 | 4.48 / 5.62 | 0 / 918 | Met workload limits |
| 2 | 3000 | 2986.08 | 4.06 / 5.56 | 0 / 2502 | Met workload limits |

p95 ≤ 50 ms · p99 ≤ 100 ms · errors ≤ 1.0%

### PostgreSQL large dataset
Failed

The same transaction mix against ten million accounts; the dataset never shrinks to fit a plan.

RuntimeError: RuntimeError: TimeoutError:

p95 ≤ 100 ms · p99 ≤ 250 ms · errors ≤ 1.0%

### Redis cache
Measured

A mixed cache workload with 1 KiB values, expiration, misses and eviction.

Redis cache measurements| Repeat | Offered / s | operations/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 1000 | 999.99 | 1.6 / 1.79 | 0 / 0 | Met workload limits |
| 1 | 5000 | 4999.97 | 1.57 / 1.76 | 0 / 0 | Met workload limits |
| 1 | 10000 | 9999.96 | 1.5 / 1.65 | 0 / 0 | Met workload limits |
| 1 | 25000 | 24949.75 | 2.02 / 9.06 | 0 / 9031 | load generator saturated |
| 2 | 1000 | 999.99 | 1.6 / 1.81 | 0 / 0 | Met workload limits |
| 2 | 5000 | 4999.97 | 1.57 / 1.76 | 0 / 0 | Met workload limits |
| 2 | 10000 | 9999.75 | 1.5 / 1.63 | 0 / 34 | Met workload limits |
| 2 | 25000 | 24913.49 | 2.61 / 11.03 | 0 / 15547 | load generator saturated |

p95 ≤ 10 ms · p99 ≤ 25 ms · errors ≤ 1.0%

### Redis persistent queue
Measured

Enqueue, consume and acknowledge payloads with append-only persistence.

Redis persistent queue measurements| Repeat | Offered / s | jobs/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 100 | 100 | 3.82 / 4.16 | 0 / 0 | Met workload limits |
| 1 | 500 | 500 | 2.83 / 3.19 | 0 / 0 | Met workload limits |
| 1 | 1000 | 999.99 | 2.79 / 3.15 | 0 / 0 | Met workload limits |
| 1 | 3000 | 2999.99 | 2.4 / 2.83 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 3.77 / 4.11 | 0 / 0 | Met workload limits |
| 2 | 500 | 500 | 2.72 / 3.07 | 0 / 0 | Met workload limits |
| 2 | 1000 | 1000 | 2.76 / 3.11 | 0 / 0 | Met workload limits |
| 2 | 3000 | 2999.99 | 2.4 / 2.95 | 0 / 0 | Met workload limits |

p95 ≤ 20 ms · p99 ≤ 50 ms · errors ≤ 1.0%

### Discourse community
Failed

Signed-in reading, search, posting and replies in a populated Rails forum.

URLError: \<urlopen error [Errno 111] Connection refused\>

p95 ≤ 1500 ms · p99 ≤ 3000 ms · errors ≤ 1.0%

### n8n workflows
Failed

Webhook, transformation, branching and a verified final response.

URLError: \<urlopen error [Errno 111] Connection refused\>

p95 ≤ 1000 ms · p99 ≤ 2000 ms · errors ≤ 1.0%

### n8n queue workers
Measured

Completed queued workflows including waiting time and worker execution.

n8n queue workers measurements| Repeat | Offered / s | workflows/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 5 | 5 | 40.74 / 47.45 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 31.87 / 40.74 | 0 / 0 | Met workload limits |
| 1 | 50 | 49.99 | 51.47 / 146.68 | 0 / 0 | Met workload limits |
| 1 | 100 | 68.13 | 4097.91 / 4264.34 | 0 / 5523 | latency limit exceeded |
| 2 | 5 | 5 | 37.54 / 48.43 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 30.27 / 42.87 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 43.3 / 130.06 | 0 / 0 | Met workload limits |
| 2 | 100 | 70.52 | 3937.97 / 4138.9 | 0 / 5086 | latency limit exceeded |

p95 ≤ 2000 ms · p99 ≤ 4000 ms · errors ≤ 1.0%

### Ghost publishing
Measured

Readers, authenticated draft creation, publishing and image uploads.

Ghost publishing measurements| Repeat | Offered / s | journeys/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 5 | 5 | 323.13 / 386.71 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 349.99 / 431.55 | 0 / 0 | Met workload limits |
| 1 | 50 | 43.47 | 7013.92 / 7013.92 | 888 / 33 | latency limit exceeded |
| 1 | 100 | 47.63 | 7013.92 / 7013.92 | 880 / 8274 | latency limit exceeded |
| 2 | 5 | 5 | 313.6 / 390.58 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 346.51 / 398.45 | 0 / 0 | Met workload limits |
| 2 | 50 | 43.6 | 7013.92 / 7013.92 | 882 / 24 | latency limit exceeded |
| 2 | 100 | 45.06 | 7013.92 / 7013.92 | 861 / 8767 | latency limit exceeded |

p95 ≤ 1000 ms · p99 ≤ 2000 ms · errors ≤ 1.0%

### Formbricks / Next.js
Insufficient RAM

Public survey rendering, persisted responses and authenticated analysis.

Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

p95 ≤ 1000 ms · p99 ≤ 2000 ms · errors ≤ 1.0%

### Elasticsearch search and ingestion
Insufficient RAM

Full-text search, filtering and aggregations while new documents are indexed.

Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

p95 ≤ 250 ms · p99 ≤ 500 ms · errors ≤ 1.0%

### GitHub self-hosted runner
Insufficient RAM

A pinned build and test workflow with separate cold and warm dependency caches.

Requires 8192 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

p95 ≤ 3600000 ms · p99 ≤ 3600000 ms · errors ≤ 1.0%

### Odoo Community sales
Insufficient RAM

Customer lookup, sales order confirmation, stock operations and reporting.

Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

p95 ≤ 2000 ms · p99 ≤ 4000 ms · errors ≤ 1.0%

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 2 | 2 |
| CPU | Shared vCPU | 0% of busy CPU time stolen |
| RAM | 2 GB | 1.9 GiB |
| Storage | 40 GB NVMe | 37.5 GiB |
| Architecture | x86\_64 | x86\_64 |
| Virtualization | KVM | KVM |

Guests usually report slightly less RAM and disk than advertised because of kernel reservations and filesystem overhead.

## Detected hardware

**CPU model:** AMD EPYC-Rome Processor

**CPU cores:** 2

**CPU frequency:** 2445 MHz

**AES-NI:** Yes

**VM-x/AMD-V:** No

**RAM reported:** 1.9 GiB

**Swap reported:** 0 MiB

**Disk reported:** 37.5 GiB

**Virtualization reported:** KVM

**CPU steal:** 0% of busy CPU time stolen

**Distro:** Ubuntu 24.04.4 LTS

**Kernel:** 6.8.0-138-generic

**Architecture:** x86\_64

**IPv4 reachable:** Yes

**IPv6 reachable:** Yes

## Advertised at test time

**Plan:** CPX11

**Product line:** regular\_purpose

**Location:** Hillsboro, OR

**vCPU:** 2 shared vCPU

**Architecture:** x86\_64

**RAM:** 2 GB

**Storage:** 40 GB NVMe

**Virtualization:** KVM

**Network:** Unknown

**Transfer:** 1.1 TB

**Port 25:** On request

**Monthly price at test time:** $20.49

**Hourly price at test time:** $0.033

**YABS version:** v2026-09-20

**Ran at:** Oct 20, 2026, 04:31:42 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 19, 2026, 08:54:00 UTC

**Server created:** Oct 20, 2026, 04:31:29 UTC

**First update from the server:** Oct 20, 2026, 04:31:29 UTC

**Completed:** Oct 20, 2026, 07:42:57 UTC

**Server deleted:** Oct 20, 2026, 07:42:57 UTC

**Cost of this run:** $0.10

Tests 36 of 39 done Live output 1027 lines

Setup 2 cores, 1.9 GiB RAM 4 of 4Done

Disk (fio) 228 MB/s at 4k, 3.54 GB/s at 1m 5 of 5Done

Network, IPv4 (iperf3) Median 1.14 Gbit/s send, 1.42 Gbit/s receive, 3 retried 3 of 3Done

Geekbench 7, single-core Score 1,383 18 of 18Done

Web apps 3 failed, 4 skipped 5 of 8Some failed

TestResultTime

PostgreSQL transactions 8 measured trials completed 8 trials Measurements, 8 measured trials completed 29m 29s

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 1m 25s

Redis cache 8 measured trials completed 8 trials Measurements, 8 measured trials completed 28m 30s

Redis persistent queue 8 measured trials completed 8 trials Measurements, 8 measured trials completed 28m 21s

Discourse community URLError: \<urlopen error [Errno 111] Connection refused\> Stopped URLError: \<urlopen error [Errno 111] Connection refused\> 31m 34s

n8n workflows URLError: \<urlopen error [Errno 111] Connection refused\> Stopped URLError: \<urlopen error [Errno 111] Connection refused\> 1m 26s

n8n queue workers 8 measured trials completed 8 trials Measurements, 8 measured trials completed 31m 02s

Ghost publishing 8 measured trials completed 8 trials Measurements, 8 measured trials completed 32m 41s

Formbricks / Next.js Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

Elasticsearch search and ingestion Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

GitHub self-hosted runner Requires 8192 MiB RAM; plan has 2048 MiB, 1919 MiB detected. Not run Requires 8192 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

Odoo Community sales Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1919 MiB detected.

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 08:42 UTC. It's read only now.

## Watch party

Loading the party
