# Hetzner CPX02

[Singapore](https://rackcensus.com/locations/singapore-vps-benchmarks "Every provider in Singapore")

Benchmark complete

Finished Oct 22, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

72,145

fio random read and write, 50/50

Monthly price at test time

$8.99

Same price today

## Server

[Hetzner](https://rackcensus.com/vps-providers/hetzner-benchmarks)[CPX02](https://rackcensus.com/plans/c2ynad-hetzner-cpx02-benchmarks?location=sin)

-

Provider

Hetzner

-

Plan

CPX02

-

Location

Singapore

-

vCPU

1

-

RAM

1 GB

-

Storage

20 GB NVMe

-

Network

Unknown

-

OS image

ubuntu-24.04

-

Trigger

Scheduled

-

Queued at

Oct 21, 2026, 00:20:00 UTC

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

## Latest runs of this plan

- [Helsinki DC Park 1 Oct 19, 2026](https://rackcensus.com/benchmarks/pkld1z-hetzner-cpx02-hel1-benchmark)Skipped
- [Falkenstein DC Park 1 Oct 19, 2026](https://rackcensus.com/benchmarks/s11u07-hetzner-cpx02-fsn1-benchmark)Skipped

[Full history of this plan](https://rackcensus.com/plans/c2ynad-hetzner-cpx02-benchmarks/history)

## CPU

Geekbench was skipped because this plan has less than 2 GB of RAM, which isn't enough for Geekbench 7 to run without swap.

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 140.7 MB/s (36,025 IOPS) | 141.1 MB/s (36,120 IOPS) | 281.8 MB/s (72,145 IOPS) |
| 64K | 1.26 GB/s (20,567 IOPS) | 1.26 GB/s (20,675 IOPS) | 2.52 GB/s (41,242 IOPS) |
| 512K | 2.17 GB/s (4,438 IOPS) | 2.28 GB/s (4,674 IOPS) | 4.45 GB/s (9,112 IOPS) |
| 1M | 2.29 GB/s (2,342 IOPS) | 2.44 GB/s (2,498 IOPS) | 4.73 GB/s (4,840 IOPS) |

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

## Network

### IPv4 transfer speed

Loading...

| Target | Protocol | Send | Receive |
| --- | --- | --- | --- |
| Leaseweb, Singapore, SG (10G) | IPv4 | 9.28 Gbps | 9.36 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 850 Mbps | 1.44 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 768 Mbps | 968 Mbps |

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

## Application workloads

### PostgreSQL transactions
Failed

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

RuntimeError: TimeoutError: load generator worker did not respond

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

### PostgreSQL large dataset
Insufficient RAM

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

Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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 | 1000 | 1.84 / 2.05 | 0 / 0 | Met workload limits |
| 1 | 5000 | 4999.99 | 1.93 / 2.27 | 0 / 0 | Met workload limits |
| 1 | 10000 | 9998.8 | 1.31 / 1.93 | 0 / 212 | Met workload limits |
| 1 | 25000 | 23372 | 19.19 / 25.67 | 0 / 292785 | load generator saturated |
| 2 | 1000 | 999.99 | 1.9 / 2.05 | 0 / 0 | Met workload limits |
| 2 | 5000 | 4999.97 | 1.96 / 2.3 | 0 / 0 | Met workload limits |
| 2 | 10000 | 9999.07 | 1.28 / 1.93 | 0 / 163 | Met workload limits |
| 2 | 25000 | 23354.4 | 19.39 / 25.41 | 0 / 295926 | 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 | 4.27 / 4.82 | 0 / 0 | Met workload limits |
| 1 | 500 | 500 | 3.32 / 4.11 | 0 / 0 | Met workload limits |
| 1 | 1000 | 999.99 | 3.36 / 4.32 | 0 / 0 | Met workload limits |
| 1 | 3000 | 2999.82 | 3.36 / 5.76 | 0 / 29 | Met workload limits |
| 2 | 100 | 100 | 4.32 / 4.94 | 0 / 0 | Met workload limits |
| 2 | 500 | 500 | 3.23 / 4.01 | 0 / 0 | Met workload limits |
| 2 | 1000 | 999.99 | 3.36 / 4.27 | 0 / 0 | Met workload limits |
| 2 | 3000 | 2999.96 | 3.32 / 5.82 | 0 / 3 | Met workload limits |

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

### Discourse community
Insufficient RAM

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

Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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

### n8n workflows
Insufficient RAM

Webhook, transformation, branching and a verified final response.

Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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

### n8n queue workers
Insufficient RAM

Completed queued workflows including waiting time and worker execution.

Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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

### Ghost publishing
Insufficient RAM

Readers, authenticated draft creation, publishing and image uploads.

Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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 1024 MiB, 932 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 1024 MiB, 932 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 1024 MiB, 932 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 1024 MiB, 932 MiB detected.

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

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 1 | 1 |
| CPU | Shared vCPU | 0% of busy CPU time stolen |
| RAM | 1 GB | 932 MiB |
| Storage | 20 GB NVMe | 18.7 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-Genoa Processor

**CPU cores:** 1

**CPU frequency:** 2396 MHz

**AES-NI:** Yes

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

**RAM reported:** 932 MiB

**Swap reported:** 0 MiB

**Disk reported:** 18.7 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:** CPX02

**Product line:** regular\_purpose

**Location:** Singapore

**vCPU:** 1 shared vCPU

**Architecture:** x86\_64

**RAM:** 1 GB

**Storage:** 20 GB NVMe

**Virtualization:** KVM

**Network:** Unknown

**Transfer:** 21.99 TB

**Port 25:** On request

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

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

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

**Ran at:** Oct 22, 2026, 04:19:11 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 21, 2026, 00:20:00 UTC

**First update from the server:** Oct 22, 2026, 04:17:41 UTC

**Completed:** Oct 22, 2026, 05:29:14 UTC

**Server deleted:** Oct 22, 2026, 05:29:14 UTC

**Cost of this run:** $0.017

Tests 15 of 16 done Live output 441 lines

Setup 1 cores, 932.5 MiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 850 Mbit/s send, 1.44 Gbit/s receive, 1 retried 3 of 3Done

Web apps 1 failed, 9 skipped 2 of 3Some failed

TestResultTime

PostgreSQL transactions RuntimeError: TimeoutError: load generator worker did not respond Stopped RuntimeError: TimeoutError: load generator worker did not respond 10m 30s

PostgreSQL large dataset Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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

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

Discourse community Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

n8n workflows Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

n8n queue workers Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

Ghost publishing Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 2048 MiB RAM; plan has 1024 MiB, 932 MiB detected.

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

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

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

Odoo Community sales Requires 4096 MiB RAM; plan has 1024 MiB, 932 MiB detected. Not run Requires 4096 MiB RAM; plan has 1024 MiB, 932 MiB detected.

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 06:29 UTC. It's read only now.

## Watch party

Loading the party
