Skip to main content

Hetzner CCX13

Hillsboro, OR

Benchmark complete
Finished Oct 14, 2026
Geekbench 7 single-core
1,921
Faster than 95% of 2 vCPU plans
Median here: 1,899 over 2 runs in 90 days
Geekbench 7 multi-core
2,483
Faster than 78% of 2 vCPU plans
Median here: 2,448 over 2 runs in 90 days
Disk 4K IOPS
153,524
fio random read and write, 50/50
Median here: 147,987 over 2 runs in 90 days
Monthly price at test time
$50.99
49 multi-core points per dollar
Same price today

Server

  • Provider
    Hetzner
  • Plan
    CCX13
  • Location
    Hillsboro, OR
  • vCPU
    2
  • RAM
    8 GB
  • Storage
    80 GB NVMe
  • Network
    Unknown
  • OS image
    ubuntu-24.04
  • Trigger
    Scheduled
  • Queued at
    Oct 14, 2026, 05:39:00 UTC

CPU

Version Single-core Multi-core Result link
Geekbench 7 1,921 2,483 Geekbench Browser

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,839
5th of 150
2,622
48th of 113
Navigation
1,779
9th of 150
Single-core only
HTML5 Browser
1,989
3rd of 150
Single-core only
PDF Viewer
2,111
5th of 150
Single-core only
Photo Library
1,712
10th of 150
2,302
59th of 113
Clang
1,724
4th of 150
2,550
54th of 113
Text Processing
1,907
4th of 150
2,280
56th of 113
Asset Compression
1,906
8th of 150
2,571
57th of 113
HDR
1,976
8th of 150
2,286
62nd of 113
Photo Editor
2,192
12th of 150
2,497
59th of 113
Ray Tracer
1,793
5th of 150
2,802
54th of 113
Structure from Motion
1,939
5th of 150
Single-core only
Game Physics
1,815
6th of 150
Single-core only
Video Encoder
2,042
4th of 150
Single-core only
Audio Encoder
1,835
10th of 150
Single-core only
Video Player
2,288
6th of 150
Single-core only

Rank among the 150 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.

Memory, TLS and scheduler

Memory bandwidth (STREAM)

Test Result Runs Spread
Copy higher is better 58.3 GB/s 3 1.46%
Scale higher is better 43 GB/s 3 0.629%
Add higher is better 43.4 GB/s 3 0.714%
Triad higher is better 43.6 GB/s 3 1.85%

Average of 3 runs. Spread is the standard deviation as a share of the average.

TLS and crypto (OpenSSL)

Test Result Runs Spread
RSA 4096 signs higher is better 339/s 3 0%
RSA 4096 verifies higher is better 22,459/s 3 0.411%
SHA-256 higher is better 1.54 GB/s 3 0.0797%
AES-256-GCM higher is better 4.68 GB/s 3 0.189%
ChaCha20-Poly1305 higher is better 2.8 GB/s 3 0.136%

Average of 3 runs. Spread is the standard deviation as a share of the average.

Scheduler latency (schbench)

Test Result Runs Spread
Request latency, median lower is better 6.88 ms 3 0.355%
Requests per second, 90th percentile higher is better 288/s 3 0.801%
Request latency, 99.9th percentile lower is better 12.1 ms 3 3.9%
Requests per second, average higher is better 287/s 3 0.402%

Average of 3 runs. Spread is the standard deviation as a share of the average.

Disk

Block size Read Write Total
4K 299.5 MB/s (76,661 IOPS) 300.2 MB/s (76,863 IOPS) 599.7 MB/s (153,524 IOPS)
64K 2.82 GB/s (46,226 IOPS) 2.84 GB/s (46,469 IOPS) 5.66 GB/s (92,695 IOPS)
512K 5.01 GB/s (10,257 IOPS) 5.27 GB/s (10,802 IOPS) 10.28 GB/s (21,059 IOPS)
1M 5.64 GB/s (5,778 IOPS) 6.02 GB/s (6,163 IOPS) 11.66 GB/s (11,941 IOPS)

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

Network

iperf3 didn't report network results for this run.

Datastores

PostgreSQL

fsync speed (pg_test_fsync)

Method Operations per second Time per operation
One 8 kB write
open_datasync 10,120 0.099 ms
fdatasync 10,428 0.096 ms
fsync 8,427 0.119 ms
fsync_writethrough Not supported here n/a
open_sync 9,260 0.108 ms
Two 8 kB writes
open_datasync 5,309 0.188 ms
fdatasync 10,156 0.098 ms
fsync 8,478 0.118 ms
fsync_writethrough Not supported here n/a
open_sync 4,807 0.208 ms
open_sync at different write sizes
1 * 16kB open_sync write 9,389 0.107 ms
2 * 8kB open_sync writes 4,591 0.218 ms
4 * 4kB open_sync writes 1,973 0.507 ms
8 * 2kB open_sync writes 1,224 0.817 ms
16 * 1kB open_sync writes 627 1.6 ms
fsync on a non-write descriptor
write, fsync, close 7,995 0.125 ms
write, close, fsync 7,839 0.128 ms
Non-synced 8 kB writes
write 672,021 0.001 ms

pg_test_fsync against the Docker volume Postgres keeps its data on. fdatasync is Linux's default wal_sync_method.

pgbench at scale 10

Workload Clients Transactions/s Median p95 p99 p99.9 Failed
Read/write (TPC-B like) 1 3,080 0.317 ms 0.359 ms 0.417 ms 0.871 ms 0
Read/write (TPC-B like) 8 6,929 1.08 ms 1.81 ms 2.39 ms 3.83 ms 0
Read/write (TPC-B like) 32 6,337 4.03 ms 11.5 ms 19.8 ms 32 ms 0
Read only 1 34,956 0.027 ms 0.034 ms 0.04 ms 0.058 ms 0
Read only 8 71,386 0.099 ms 0.153 ms 0.191 ms 0.342 ms 0
Read only 32 67,222 0.376 ms 0.652 ms 0.92 ms 1.46 ms 0

Scale 10 (1,000,000 accounts), loaded in 0.93 s. 60 s per run, prepared statements. Latency comes from sampled transaction logs, and p99.9 is left out when fewer than 1,000 were sampled.

pgbench at scale 100

Workload Clients Transactions/s Median p95 p99 p99.9 Failed
Read/write (TPC-B like) 1 2,783 0.35 ms 0.397 ms 0.603 ms 1.4 ms 0
Read/write (TPC-B like) 8 6,434 1.2 ms 1.74 ms 2.68 ms 3.79 ms 0
Read/write (TPC-B like) 32 7,482 4.01 ms 6.42 ms 8.33 ms 11.6 ms 0
Read only 1 28,927 0.032 ms 0.042 ms 0.053 ms 0.335 ms 0
Read only 8 58,871 0.124 ms 0.193 ms 0.235 ms 0.688 ms 0
Read only 32 56,864 0.491 ms 0.704 ms 0.956 ms 2.17 ms 0

Scale 100 (10,000,000 accounts), loaded in 9.03 s. 60 s per run, prepared statements. Latency comes from sampled transaction logs, and p99.9 is left out when fewer than 1,000 were sampled.

MySQL

sysbench OLTP

Workload Threads Transactions/s Queries/s Median p95 p99 Errors
Read/write 1 579 11,577 1.64 ms 2.15 ms 3.49 ms 0
Read/write 8 1,098 21,963 7.17 ms 11 ms 14.5 ms 0
Read/write 32 1,199 23,988 26.2 ms 43.4 ms 55.8 ms 0
Read only 1 1,394 22,302 0.702 ms 0.768 ms 0.989 ms 0
Read only 8 2,384 38,140 3.3 ms 4.41 ms 4.82 ms 0
Read only 32 2,259 36,137 14 ms 17 ms 19 ms 0

10 tables of 100,000 rows, loaded in 5.9 s. 60 s per run, one connection per thread.

Redis

memtier

Mix Operations/s Hits/s Median p99 p99.9
1:10 set:get 70,716 64,287 0.647 ms 2.86 ms 4.06 ms
1:1 set:get 70,156 35,078 0.655 ms 2.93 ms 3.97 ms

1,000,000 keys of 32 bytes. 64 connections over 2 threads, 60 s per ratio.

Web frameworks

Framework Fortunes req/s Single query req/s JSON req/s Fortunes p99 at 256 connections
Next.js nextjs 709 2,415 3,498 494 ms
Express express-postgresjs 6,834 10,851 48,168 68.1 ms
Fastify fastify-postgres 6,603 11,182 49,944 69.8 ms
NestJS nestjs 6,353 6,686 32,168 72.4 ms
Nuxt nuxt 6,225 10,452 41,868 85.6 ms
FastAPI fastapi 4,485 6,016 21,464 220 ms
Django django-postgresql 2,020 2,192 5,874 228 ms
Rails rails 3,246 4,730 20,419 124 ms
Laravel laravel 870 936 1,724 302 ms
Symfony symfony 1,069 1,182 3,386 248 ms

Peak requests per second across the 64 and 256 connection levels, measured with wrk. Each test has to pass the TechEmpower response checks first, or it's marked invalid.

WooCommerce

Page mix

Step Requests/s Median p95 p99 Error rate
8 virtual users
Home page 2.33 685 ms 789 ms 806 ms 0%
Shop page 2.33 926 ms 1.06 s 1.09 s 0%
Category page 2.33 586 ms 954 ms 1.01 s 0%
Product page 2.33 636 ms 753 ms 778 ms 0%
Product search 2.33 548 ms 668 ms 696 ms 0%
32 virtual users
Home page 2.37 2.46 s 2.72 s 2.77 s 0%
Shop page 2.37 3.26 s 3.67 s 3.77 s 0%
Category page 2.37 2.84 s 3.41 s 3.64 s 0%
Product page 2.37 2.5 s 2.69 s 2.74 s 0%
Product search 2.37 2.33 s 2.58 s 2.63 s 0%

Cart and checkout

Step Requests/s Median p95 p99 Error rate
8 virtual users
Add to cart 4.51 727 ms 862 ms 877 ms 0%
Cart 4.51 596 ms 697 ms 718 ms 0%
Checkout 4.51 458 ms 551 ms 562 ms 0%
32 virtual users
Add to cart 4.54 2.4 s 2.86 s 2.96 s 0%
Cart 4.54 2.54 s 2.77 s 2.85 s 0%
Checkout 4.54 2.02 s 2.3 s 2.35 s 0%

k6 with a fixed number of virtual users, 61 to 68 s per level. The error rate counts responses that weren't a 200.

Discourse

Signed in

Step Requests/s Median p95 p99 Error rate
1 virtual user
Topic page 3.29 134 ms 171 ms 268 ms 0%
Topic JSON 1.66 67.7 ms 80.6 ms 225 ms 0%
Home page 1.66 119 ms 156 ms 304 ms 0%
Categories page 0.83 138 ms 152 ms 241 ms 0%
User activity page 0.813 87.8 ms 172 ms 241 ms 0%
4 virtual users
Topic page 4.29 411 ms 584 ms 1.03 s 0%
Topic JSON 2.14 219 ms 266 ms 410 ms 0%
Home page 2.14 370 ms 756 ms 1.11 s 0%
Categories page 1.09 413 ms 516 ms 827 ms 0%
User activity page 1.06 254 ms 331 ms 434 ms 0%
16 virtual users
Topic page 4.33 1.45 s 1.74 s 2.04 s 0%
Topic JSON 2.16 1.22 s 1.48 s 1.7 s 0%
Home page 2.18 1.38 s 1.72 s 1.89 s 0%
Categories page 1.07 1.41 s 1.68 s 1.75 s 0%
User activity page 1.06 1.3 s 1.53 s 1.63 s 0%

Anonymous

Step Requests/s Median p95 p99 Error rate
16 virtual users
Topic page 90.8 48.6 ms 120 ms 163 ms 0%
Topic JSON 45.5 46.5 ms 120 ms 180 ms 0%
Home page 45.4 48.2 ms 118 ms 165 ms 0%
Categories page 22.7 48.6 ms 119 ms 160 ms 0%
User activity page 22.7 157 ms 262 ms 402 ms 0%

k6 with a fixed number of virtual users, 60 to 61 s per level, after a 21 s warmup. The error rate counts responses that weren't a 200. Discourse ran with 4 app workers and 2048 MB of Postgres shared buffers, what its installer picks for a 8 GB box. Its installer adds no swap on a box this big. The container peaked at 1,870 MB.

Ghost

Readers

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 13.5 21.1 ms 23.5 ms 34.1 ms 0%
Post page 33.7 11 ms 14 ms 20.9 ms 0%
Tag page 6.73 13.6 ms 15.2 ms 23.8 ms 0%
Author page 6.73 14.7 ms 17 ms 25 ms 0%
RSS feed 6.73 17.1 ms 19.2 ms 25.3 ms 0%
4 virtual users
Home page 15.7 68.9 ms 82.2 ms 104 ms 0%
Post page 39.2 47 ms 62.3 ms 69 ms 0%
Tag page 7.84 41.2 ms 57.9 ms 67.1 ms 0%
Author page 7.84 44 ms 59.8 ms 63.7 ms 0%
RSS feed 7.84 45.5 ms 58.7 ms 64.5 ms 0%
16 virtual users
Home page 15.6 259 ms 301 ms 356 ms 0%
Post page 38.9 217 ms 257 ms 314 ms 0%
Tag page 7.78 142 ms 173 ms 215 ms 0%
Author page 7.77 142 ms 171 ms 210 ms 0%
RSS feed 7.77 144 ms 175 ms 226 ms 0%

Staff in Ghost Admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Post list 7.03 20.5 ms 25 ms 33.3 ms 0%
Post editor 21.2 8.46 ms 11.3 ms 17 ms 0%
Saving a draft 21.2 21.2 ms 26.1 ms 33.9 ms 0%
Member list 7.05 22.6 ms 28.4 ms 36.7 ms 0%
4 virtual users
Post list 8.28 29 ms 34 ms 42.3 ms 0%
Post editor 24.9 16.5 ms 20.3 ms 24.1 ms 0%
Saving a draft 24.9 119 ms 145 ms 157 ms 0%
Member list 8.31 34.4 ms 38.2 ms 40.1 ms 0%

k6 with a fixed number of virtual users, 60 s per level, after a 20 s warmup. The error rate counts responses that weren't a 200. Ghost ran the way its ghost-docker setup runs it: one Node process, and MySQL with its stock 128 MB buffer pool. Memory peaked with Ghost at 538 MB and MySQL at 616 MB.

Wagtail

Visitors

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 2.41 53.7 ms 56.2 ms 60.5 ms 0%
Blog index 2.41 192 ms 196 ms 199 ms 0%
Blog post 7.21 17.3 ms 26.2 ms 28.2 ms 0%
Bread page 7.22 19 ms 21 ms 21.7 ms 0%
Location page 2.41 17.9 ms 20.1 ms 20.8 ms 0%
Site search 2.4 28.8 ms 49.7 ms 50.4 ms 0%
4 virtual users
Home page 3.39 171 ms 215 ms 293 ms 0%
Blog index 3.42 571 ms 715 ms 811 ms 0%
Blog post 10.2 48.7 ms 79.5 ms 97 ms 0%
Bread page 10.2 54.9 ms 72.8 ms 84.1 ms 0%
Location page 3.42 49.6 ms 67.2 ms 73.9 ms 0%
Site search 3.39 75.9 ms 156 ms 169 ms 0%
16 virtual users
Home page 3.46 539 ms 758 ms 874 ms 0%
Blog index 3.53 1.29 s 1.54 s 1.72 s 0%
Blog post 10.4 304 ms 513 ms 621 ms 0%
Bread page 10.4 309 ms 528 ms 636 ms 0%
Location page 3.48 312 ms 481 ms 550 ms 0%
Site search 3.48 364 ms 590 ms 735 ms 0%

Editors in the Wagtail admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Admin dashboard 1.03 56.5 ms 59.4 ms 72.8 ms 0%
Page explorer 2.09 228 ms 336 ms 380 ms 0%
Page editor 3.09 111 ms 117 ms 163 ms 0%
Image library 1.03 42.3 ms 45.8 ms 348 ms 0%
Admin page search 1.03 23.7 ms 49.7 ms 52 ms 0%
4 virtual users
Admin dashboard 1.32 210 ms 355 ms 435 ms 0%
Page explorer 2.69 713 ms 1.02 s 1.11 s 0%
Page editor 4.05 345 ms 568 ms 647 ms 0%
Image library 1.34 202 ms 394 ms 464 ms 0%
Admin page search 1.32 85.1 ms 285 ms 407 ms 0%

k6 with a fixed number of virtual users, 60 to 61 s per level, after a 20 s warmup. The error rate counts responses that weren't a 200. Wagtail ran the way bakerydemo ships it: uWSGI with 2 workers of 4 threads each, whatever the box, and Postgres and Redis on stock settings. Memory peaked with Wagtail at 304 MB, Postgres at 151 MB, and Redis at 25 MB.

Advertised vs. measured

Spec Advertised Measured
vCPU 2 2
CPU Dedicated vCPU 0% of busy CPU time stolen
RAM 8 GB 7.6 GiB
Storage 80 GB NVMe 75 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-Milan Processor
CPU cores
2
CPU frequency
2297 MHz
AES-NI
Yes
VM-x/AMD-V
No
RAM reported
7.6 GiB
Swap reported
0 MiB
Disk reported
75 GiB
Virtualization reported
KVM
CPU steal
0% of busy CPU time stolen
Distro
Ubuntu 24.04.4 LTS
Kernel
6.8.0-139-generic
Architecture
x86_64
IPv4 reachable
Yes
IPv6 reachable
Yes

Advertised at test time

Plan
CCX13
Product line
general_purpose
Location
Hillsboro, OR
vCPU
2 dedicated vCPU
Architecture
x86_64
RAM
8 GB
Storage
80 GB NVMe
Virtualization
KVM
Network
Unknown
Transfer
21.99 TB
Port 25
On request
Monthly price at test time
$50.99
Hourly price at test time
$0.082
YABS version
v2026-09-20
Ran at
Oct 14, 2026, 05:39:39 UTC
Parser version
5

Run timeline

Queued
Oct 14, 2026, 05:39:00 UTC
Server created
Oct 14, 2026, 05:39:27 UTC
First update from the server
Oct 14, 2026, 05:39:27 UTC
Completed
Oct 14, 2026, 07:14:53 UTC
Server deleted
Oct 14, 2026, 07:14:53 UTC
Cost of this run
$0.13
Watch party 0 watching

This party closed at . It's read only now.

Watch party

Loading the party