Skip to main content

Hetzner CPX31

Hillsboro, OR

Benchmark complete
Finished Oct 25, 2026
Geekbench 7 single-core
1,411
Faster than 80% of 4 vCPU plans
Geekbench 7 multi-core
4,999
Faster than 77% of 4 vCPU plans
Disk 4K IOPS
57,364
fio random read and write, 50/50
Monthly price at test time
$73.49
68 multi-core points per dollar
Same price today

Server

  • Provider
    Hetzner
  • Plan
    CPX31
  • Location
    Hillsboro, OR
  • vCPU
    4
  • RAM
    8 GB
  • Storage
    160 GB NVMe
  • Network
    Unknown
  • OS image
    ubuntu-24.04
  • Trigger
    Scheduled
  • Queued at
    Oct 22, 2026, 21:45:00 UTC

CPU

Version Single-core Multi-core Result link
Geekbench 7 1,411 4,999 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,469
25th of 99
4,499
6th of 56
Navigation
1,476
24th of 99
Single-core only
HTML5 Browser
1,348
26th of 99
Single-core only
PDF Viewer
1,485
26th of 99
Single-core only
Photo Library
1,295
24th of 99
5,019
8th of 56
Clang
1,161
36th of 99
4,650
8th of 56
Text Processing
1,260
26th of 99
4,548
9th of 56
Asset Compression
1,404
25th of 99
5,529
7th of 56
HDR
1,383
24th of 99
4,284
10th of 56
Photo Editor
1,639
18th of 99
6,268
6th of 56
Ray Tracer
1,397
21st of 99
5,500
8th of 56
Structure from Motion
1,729
16th of 99
Single-core only
Game Physics
1,306
30th of 99
Single-core only
Video Encoder
1,343
22nd of 99
Single-core only
Audio Encoder
1,430
26th of 99
Single-core only
Video Player
1,560
21st of 99
Single-core only

Rank among the 99 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 111.9 MB/s (28,644 IOPS) 112.2 MB/s (28,720 IOPS) 224.1 MB/s (57,364 IOPS)
64K 1.04 GB/s (16,986 IOPS) 1.04 GB/s (17,075 IOPS) 2.08 GB/s (34,061 IOPS)
512K 1.82 GB/s (3,722 IOPS) 1.91 GB/s (3,919 IOPS) 3.73 GB/s (7,641 IOPS)
1M 1.84 GB/s (1,884 IOPS) 1.96 GB/s (2,009 IOPS) 3.8 GB/s (3,893 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.1 Gbps 7.34 Gbps
Clouvider, London, UK (10G) IPv4 1.16 Gbps 1.41 Gbps
Leaseweb, Singapore, SG (10G) IPv4 1.07 Gbps 1.43 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
RepeatOffered / stransactions/sp95 / p99 msErrors / droppedResult
11001005.36 / 6.610 / 0Met workload limits
1500498.284.65 / 5.760 / 310Met workload limits
11000994.994.88 / 5.760 / 902Met workload limits
130002991.84.48 / 5.620 / 1472Met workload limits
21001005.76 / 6.920 / 0Met workload limits
2500498.094.59 / 5.560 / 343Met workload limits
21000994.984.7 / 5.560 / 903Met workload limits
230002991.224.48 / 5.620 / 1577Met 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
RepeatOffered / soperations/sp95 / p99 msErrors / droppedResult
1100010001.57 / 1.760 / 0Met workload limits
150004999.971.6 / 1.840 / 0Met workload limits
1100009998.931.5 / 1.630 / 182Met workload limits
12500024959.651.81 / 7.240 / 7049load generator saturated
2100010001.57 / 1.730 / 0Met workload limits
250004999.971.57 / 1.810 / 0Met workload limits
2100009999.721.5 / 1.630 / 47Met workload limits
22500024969.171.76 / 6.390 / 5541load 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
RepeatOffered / sjobs/sp95 / p99 msErrors / droppedResult
11001003.77 / 4.060 / 0Met workload limits
15005002.91 / 3.230 / 0Met workload limits
1100010002.95 / 3.270 / 0Met workload limits
130002999.982.43 / 2.870 / 0Met workload limits
21001003.77 / 4.060 / 0Met workload limits
25005002.91 / 3.190 / 0Met workload limits
21000999.992.91 / 3.270 / 0Met workload limits
230002999.992.4 / 2.790 / 0Met workload limits

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

Discourse community

Measured

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

Discourse community measurements
RepeatOffered / sjourneys/sp95 / p99 msErrors / droppedResult
121.96254.27 / 346.518 / 0error limit exceeded
154.69190.29 / 301.3256 / 0error limit exceeded
1109.19175.65 / 278.19146 / 0error limit exceeded
12522.68165.41 / 214.55416 / 0error limit exceeded
221.96259.4 / 349.998 / 0error limit exceeded
254.69182.82 / 289.5256 / 0error limit exceeded
2109.19173.9 / 262.01146 / 0error limit exceeded
22522.68173.9 / 212.41416 / 0error limit exceeded

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

n8n workflows

Measured

Webhook, transformation, branching and a verified final response.

n8n workflows measurements
RepeatOffered / sworkflows/sp95 / p99 msErrors / droppedResult
15531.54 / 35.310 / 0Met workload limits
1202026.48 / 29.970 / 0Met workload limits
1505020.22 / 25.940 / 0Met workload limits
110098.832618.43 / 2724.790 / 57latency limit exceeded
25531.87 / 37.160 / 0Met workload limits
2202026.48 / 29.360 / 0Met workload limits
2505019.59 / 24.630 / 0Met workload limits
210099.99662.52 / 724.690 / 0Met workload limits

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
RepeatOffered / sworkflows/sp95 / p99 msErrors / droppedResult
15537.16 / 39.910 / 0Met workload limits
1202033.55 / 38.320 / 0Met workload limits
15049.9929.66 / 34.240 / 0Met workload limits
110010030.59 / 56.960 / 0Met workload limits
25537.54 / 43.30 / 0Met workload limits
2202035.67 / 40.320 / 0Met workload limits
2505029.05 / 34.240 / 0Met workload limits
210099.9930.27 / 69.020 / 0Met workload limits

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

Ghost publishing

Measured

Readers, authenticated draft creation, publishing and image uploads.

Ghost publishing measurements
RepeatOffered / sjourneys/sp95 / p99 msErrors / droppedResult
155339.66 / 427.270 / 0Met workload limits
12020343.07 / 402.450 / 0Met workload limits
15044.977013.92 / 7013.92819 / 0latency limit exceeded
110054.117013.92 / 7013.921002 / 6986latency limit exceeded
255319.92 / 360.620 / 0Met workload limits
22020346.51 / 402.450 / 0Met workload limits
25045.377013.92 / 7013.92748 / 0latency limit exceeded
210054.437013.92 / 7013.921005 / 6913latency limit exceeded

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

Formbricks / Next.js

Failed

Public survey rendering, persisted responses and authenticated analysis.

RuntimeError: RuntimeError: TimeoutError:

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

GitHub self-hosted runner

Failed

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

ValueError: set RUNNER_BENCHMARK_REPOSITORY and RUNNER_BENCHMARK_REVISION to the repository and commit hosting benchmark-runner.yml

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

Odoo Community sales

Failed

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

RuntimeError: fixture command in rc-odoo failed: -packages/odoo/cli/shell.py", line 148, in shell self.console(local_vars) File "/usr/lib/python3/dist-packages/odoo/cli/shell.py", line 82, in console exec(sys.stdin.read(), local_vars) File "<string>", line 1, in <module> PermissionError: [Errno 13] Permission denied: '/tmp/rc-seed.py'

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

Advertised vs. measured

Spec Advertised Measured
vCPU 4 4
CPU Shared vCPU 0% of busy CPU time stolen
RAM 8 GB 7.6 GiB
Storage 160 GB NVMe 150.1 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
4
CPU frequency
2445 MHz
AES-NI
Yes
VM-x/AMD-V
No
RAM reported
7.6 GiB
Swap reported
0 MiB
Disk reported
150.1 GiB
Virtualization reported
KVM
CPU steal
0% of busy CPU time stolen
Distro
Ubuntu 24.04.5 LTS
Kernel
6.8.0-139-generic
Architecture
x86_64
IPv4 reachable
Yes
IPv6 reachable
Yes

Advertised at test time

Plan
CPX31
Product line
regular_purpose
Location
Hillsboro, OR
vCPU
4 shared vCPU
Architecture
x86_64
RAM
8 GB
Storage
160 GB NVMe
Virtualization
KVM
Network
Unknown
Transfer
3.3 TB
Port 25
On request
Monthly price at test time
$73.49
Hourly price at test time
$0.12
YABS version
v2026-09-20
Ran at
Oct 25, 2026, 11:06:46 UTC
Parser version
5

Run timeline

Queued
Oct 22, 2026, 21:45:00 UTC
Server created
Oct 25, 2026, 11:06:29 UTC
First update from the server
Oct 25, 2026, 11:06:29 UTC
Completed
Oct 25, 2026, 15:39:01 UTC
Server deleted
Oct 25, 2026, 15:39:01 UTC
Cost of this run
$0.54
TestResultTime
Watch party 0 watching

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

Watch party

Loading the party