Skip to main content

LunaNode s.4 6 vCPU / 4 GB

Toronto

Benchmark complete
Finished Oct 15, 2026
Geekbench 7 single-core
933
Median here: 924 over 2 runs in 90 days
Geekbench 7 multi-core
Skipped
Median here: 3,697 over 2 runs in 90 days
Disk 4K IOPS
93,731
fio random read and write, 50/50
Median here: 91,961 over 2 runs in 90 days
Monthly price at test time
$28.00
Same price today

Server

  • Provider
    LunaNode
  • Plan
    s.4 6 vCPU / 4 GB
  • Location
    Toronto
  • vCPU
    6
  • RAM
    4 GB
  • Storage
    70 GB SSD
  • Network
    Unknown
  • OS image
    Ubuntu 24.04 64-bit (template)
  • Trigger
    Scheduled
  • Queued at
    Oct 15, 2026, 15:00:00 UTC

CPU

Version Single-core Multi-core Result link
Geekbench 7 933 Skipped Geekbench Browser

Multi-core was skipped because Geekbench 7 needs about 4.8 GB of free memory to run 6 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,003
138th of 191
Single-core only
Navigation
1,128
123rd of 191
Single-core only
HTML5 Browser
911
133rd of 191
Single-core only
PDF Viewer
1,011
136th of 191
Single-core only
Photo Library
706
146th of 191
Single-core only
Clang
949
132nd of 191
Single-core only
Text Processing
998
117th of 191
Single-core only
Asset Compression
1,082
117th of 191
Single-core only
HDR
833
138th of 191
Single-core only
Photo Editor
890
137th of 191
Single-core only
Ray Tracer
1,060
115th of 191
Single-core only
Structure from Motion
890
150th of 191
Single-core only
Game Physics
999
124th of 191
Single-core only
Video Encoder
827
143rd of 191
Single-core only
Audio Encoder
943
145th of 191
Single-core only
Video Player
807
147th of 191
Single-core only

Rank among the 191 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 50.2 GB/s 3 2.15%
Scale higher is better 35 GB/s 3 0.199%
Add higher is better 38 GB/s 3 2.38%
Triad higher is better 38.3 GB/s 3 0.503%

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 1,350/s 3 1.45%
RSA 4096 verifies higher is better 88,307/s 3 1.62%
SHA-256 higher is better 1.51 GB/s 3 1.21%
AES-256-GCM higher is better 16.7 GB/s 3 0.527%
ChaCha20-Poly1305 higher is better 8.98 GB/s 3 0.417%

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 4.05 ms 3 0.604%
Requests per second, 90th percentile higher is better 1,414/s 3 1.72%
Request latency, 99.9th percentile lower is better 11.7 ms 3 11.5%
Requests per second, average higher is better 1,372/s 3 2.17%

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

Disk

Block size Read Write Total
4K 182.8 MB/s (46,804 IOPS) 183.3 MB/s (46,927 IOPS) 366.1 MB/s (93,731 IOPS)
64K 1.77 GB/s (29,076 IOPS) 1.78 GB/s (29,229 IOPS) 3.56 GB/s (58,305 IOPS)
512K 1.93 GB/s (3,954 IOPS) 2.03 GB/s (4,164 IOPS) 3.96 GB/s (8,118 IOPS)
1M 1.86 GB/s (1,907 IOPS) 1.99 GB/s (2,034 IOPS) 3.85 GB/s (3,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 4,221 0.237 ms
fdatasync 4,055 0.247 ms
fsync 1,870 0.535 ms
fsync_writethrough Not supported here n/a
open_sync 2,319 0.431 ms
Two 8 kB writes
open_datasync 1,375 0.727 ms
fdatasync 3,460 0.289 ms
fsync 1,358 0.736 ms
fsync_writethrough Not supported here n/a
open_sync 973 1.03 ms
open_sync at different write sizes
1 * 16kB open_sync write 1,759 0.569 ms
2 * 8kB open_sync writes 950 1.05 ms
4 * 4kB open_sync writes 570 1.76 ms
8 * 2kB open_sync writes 317 3.16 ms
16 * 1kB open_sync writes 168 5.96 ms
fsync on a non-write descriptor
write, fsync, close 2,232 0.448 ms
write, close, fsync 2,144 0.466 ms
Non-synced 8 kB writes
write 304,518 0.003 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 937 0.982 ms 1.47 ms 1.92 ms 7.58 ms 0
Read/write (TPC-B like) 8 4,430 1.6 ms 3.07 ms 4.76 ms 10.2 ms 0
Read/write (TPC-B like) 32 5,397 4.49 ms 14.6 ms 25 ms 48.9 ms 0
Read only 1 14,378 0.064 ms 0.09 ms 0.111 ms 0.156 ms 0
Read only 8 75,280 0.084 ms 0.204 ms 0.258 ms 0.367 ms 0
Read only 32 72,646 0.396 ms 0.628 ms 0.824 ms 2.87 ms 0

Scale 10 (1,000,000 accounts), loaded in 2.48 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 752 1.24 ms 1.9 ms 2.75 ms 8.04 ms 0
Read/write (TPC-B like) 8 3,396 1.92 ms 3.93 ms 9.24 ms 45 ms 0
Read/write (TPC-B like) 32 5,832 4.64 ms 9.85 ms 16.3 ms 31.2 ms 0
Read only 1 8,395 0.106 ms 0.183 ms 0.329 ms 0.615 ms 0
Read only 8 60,039 0.103 ms 0.256 ms 0.329 ms 0.882 ms 0
Read only 32 60,360 0.483 ms 0.782 ms 1.02 ms 3.35 ms 0

Scale 100 (10,000,000 accounts), loaded in 34.2 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 171 3,426 5.18 ms 8.74 ms 14.5 ms 0
Read/write 8 956 19,125 7.43 ms 14.2 ms 25.7 ms 0
Read/write 32 1,328 26,570 21.9 ms 40.4 ms 53.9 ms 0
Read only 1 516 8,257 1.86 ms 2.48 ms 3.25 ms 0
Read only 8 3,017 48,268 2.48 ms 4.33 ms 5.18 ms 0
Read only 32 2,732 43,718 11.7 ms 16.1 ms 19 ms 0

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

Redis

memtier

Mix Operations/s Hits/s Median p99 p99.9
1:10 set:get 43,994 39,994 1.42 ms 2.72 ms 5.89 ms
1:1 set:get 41,855 20,927 1.48 ms 2.8 ms 5.63 ms

1,000,000 keys of 32 bytes. 64 connections over 4 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 889 3,543 4,530 460 ms
Express express-postgresjs 16,060 19,377 51,568 41 ms
Fastify fastify-postgres 17,984 23,544 59,371 30.3 ms
NestJS nestjs 8,096 9,745 33,657 80.8 ms
Nuxt nuxt 14,028 20,204 43,254 52.2 ms
FastAPI fastapi 6,942 8,722 33,737 197 ms
Django django-postgresql 2,607 2,944 6,079 195 ms
Rails rails 3,812 5,314 18,275 149 ms
Laravel laravel 1,620 1,712 3,254 200 ms
Symfony symfony 2,040 2,180 5,836 145 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.

Web apps

WooCommerce

Page mix

Step Requests/s Median p95 p99 Error rate
8 virtual users
Home page 1.12 525 ms 3.01 s 3.09 s 0%
Shop page 1.12 2.19 s 3.89 s 4.49 s 0%
Category page 1.12 1.3 s 2.91 s 3.11 s 0%
Product page 1.12 1.31 s 2.75 s 3.09 s 0%
Product search 1.12 1.08 s 2.49 s 2.76 s 0%
32 virtual users
Home page 0.872 8.8 s 14.8 s 15.5 s 0%
Shop page 0.633 11.8 s 16.1 s 16.9 s 0%
Category page 0.464 10.5 s 13.5 s 14 s 0%
Product page 0.45 10 s 13.6 s 13.9 s 0%
Product search 0.45 7.56 s 10.8 s 11.7 s 0%

Cart and checkout

Step Requests/s Median p95 p99 Error rate
8 virtual users
Add to cart 1.19 2.61 s 3.4 s 3.74 s 0%
Cart 1.19 2.29 s 2.91 s 3.33 s 0%
Checkout 1.19 1.59 s 2.32 s 2.71 s 0%
32 virtual users
Add to cart 1.32 9.4 s 13.7 s 16.1 s 0%
Cart 1.11 8.89 s 11.4 s 11.7 s 0%
Checkout 0.94 6.81 s 9.09 s 9.64 s 0%

k6 with a fixed number of virtual users, 64 to 71 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 1.29 332 ms 584 ms 770 ms 0%
Topic JSON 0.659 175 ms 229 ms 246 ms 0%
Home page 0.659 299 ms 369 ms 437 ms 0%
Categories page 0.33 364 ms 400 ms 437 ms 0%
User activity page 0.33 210 ms 417 ms 478 ms 0%
4 virtual users
Topic page 5.32 332 ms 492 ms 727 ms 0%
Topic JSON 2.66 164 ms 218 ms 259 ms 0%
Home page 2.64 293 ms 382 ms 568 ms 0%
Categories page 1.36 338 ms 422 ms 610 ms 0%
User activity page 1.33 206 ms 324 ms 519 ms 0%
16 virtual users
Topic page 8.28 774 ms 1.05 s 1.34 s 0%
Topic JSON 4.15 584 ms 785 ms 862 ms 0%
Home page 4.12 751 ms 1.02 s 1.33 s 0%
Categories page 2.09 822 ms 1.3 s 1.65 s 0%
User activity page 2.07 629 ms 876 ms 1.24 s 0%

Anonymous

Step Requests/s Median p95 p99 Error rate
16 virtual users
Topic page 166 24.7 ms 45.9 ms 66.9 ms 0%
Topic JSON 82.9 22.6 ms 44.6 ms 63.3 ms 0%
Home page 82.9 24.9 ms 46.8 ms 66.8 ms 0%
Categories page 41.4 24.5 ms 46.4 ms 62.6 ms 0%
User activity page 41.5 137 ms 202 ms 268 ms 0%

k6 with a fixed number of virtual users, 60 to 61 s per level, after a 22 s warmup. The error rate counts responses that weren't a 200. Discourse ran with 8 app workers and 1024 MB of Postgres shared buffers, what its installer picks for a 4 GB box. It had swap the way its installer sets a box up. The container peaked at 2,827 MB.

Ghost

Readers

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 4.88 56 ms 81.4 ms 99.2 ms 0%
Post page 12.2 30.2 ms 45.3 ms 54.2 ms 0%
Tag page 2.45 38.2 ms 61.9 ms 73.8 ms 0%
Author page 2.43 37.1 ms 61.1 ms 65 ms 0%
RSS feed 2.43 44.9 ms 66.5 ms 89.8 ms 0%
4 virtual users
Home page 7.08 148 ms 190 ms 211 ms 0%
Post page 17.7 104 ms 144 ms 164 ms 0%
Tag page 3.56 94.7 ms 135 ms 145 ms 0%
Author page 3.53 96.3 ms 135 ms 153 ms 0%
RSS feed 3.53 104 ms 143 ms 161 ms 0%
16 virtual users
Home page 7.03 568 ms 687 ms 752 ms 0%
Post page 17.5 483 ms 589 ms 642 ms 0%
Tag page 3.51 315 ms 398 ms 429 ms 0%
Author page 3.5 317 ms 396 ms 434 ms 0%
RSS feed 3.5 329 ms 413 ms 465 ms 0%

Staff in Ghost Admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Post list 2.75 53.8 ms 80.3 ms 87.2 ms 0%
Post editor 8.27 19.9 ms 29.6 ms 34.9 ms 0%
Saving a draft 8.26 52.5 ms 72.4 ms 86.1 ms 0%
Member list 2.75 66 ms 95.5 ms 110 ms 0%
4 virtual users
Post list 4.04 61.5 ms 92.6 ms 100 ms 0%
Post editor 12.2 29.4 ms 45 ms 56 ms 0%
Saving a draft 12.3 241 ms 313 ms 353 ms 0%
Member list 4.07 70.9 ms 98.8 ms 116 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 306 MB and MySQL at 625 MB.

Wagtail

Visitors

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 0.978 135 ms 175 ms 181 ms 0%
Blog index 0.962 484 ms 572 ms 591 ms 0%
Blog post 2.88 43.7 ms 63.6 ms 77.9 ms 0%
Bread page 2.88 48.2 ms 68.8 ms 77.6 ms 0%
Location page 0.962 46.8 ms 64.5 ms 67 ms 0%
Site search 0.962 79 ms 132 ms 145 ms 0%
4 virtual users
Home page 1.98 269 ms 454 ms 539 ms 0%
Blog index 2.03 913 ms 1.5 s 1.73 s 0%
Blog post 5.96 72.9 ms 146 ms 217 ms 0%
Bread page 6.01 79 ms 154 ms 173 ms 0%
Location page 2.03 76.3 ms 130 ms 169 ms 0%
Site search 1.98 127 ms 302 ms 389 ms 0%
16 virtual users
Home page 2.42 742 ms 1.03 s 1.19 s 0%
Blog index 2.47 2.03 s 2.44 s 2.62 s 0%
Blog post 7.24 420 ms 700 ms 780 ms 0%
Bread page 7.24 430 ms 689 ms 804 ms 0%
Location page 2.44 418 ms 722 ms 824 ms 0%
Site search 2.4 526 ms 773 ms 913 ms 0%

Editors in the Wagtail admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Admin dashboard 0.394 152 ms 201 ms 236 ms 0%
Page explorer 0.787 579 ms 693 ms 749 ms 0%
Page editor 1.18 293 ms 402 ms 534 ms 0%
Image library 0.394 101 ms 143 ms 967 ms 0%
Admin page search 0.394 63.9 ms 157 ms 163 ms 0%
4 virtual users
Admin dashboard 0.552 482 ms 961 ms 1.18 s 0%
Page explorer 1.12 1.53 s 4.64 s 5.01 s 0%
Page editor 1.67 696 ms 1.33 s 1.41 s 0%
Image library 0.552 468 ms 816 ms 883 ms 0%
Admin page search 0.552 149 ms 402 ms 459 ms 0%

k6 with a fixed number of virtual users, 60 to 62 s per level, after a 21 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 294 MB, Postgres at 190 MB, and Redis at 26 MB.

Advertised vs. measured

Spec Advertised Measured
vCPU 6 6
CPU Shared vCPU 0.1% of busy CPU time stolen
RAM 4 GB 3.8 GiB
Storage 70 GB SSD 67.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
Intel Core Processor (Skylake, IBRS)
CPU cores
6
CPU frequency
2600 MHz
AES-NI
Yes
VM-x/AMD-V
Yes
RAM reported
3.8 GiB
Swap reported
2 GiB
Disk reported
67.7 GiB
Virtualization reported
KVM
CPU steal
0.1% of busy CPU time stolen
Distro
Ubuntu 24.04.5 LTS
Kernel
6.8.0-106-generic
Architecture
x86_64
IPv4 reachable
Yes
IPv6 reachable
Yes

Advertised at test time

Plan
s.4 6 vCPU / 4 GB
Product line
General Purpose
Location
Toronto
vCPU
6 shared vCPU
Architecture
x86_64
RAM
4 GB
Storage
70 GB SSD
Virtualization
KVM
Network
Unknown
Transfer
3 TB
Port 25
Unknown
Monthly price at test time
$28.00
Hourly price at test time
$0.039
YABS version
v2026-09-20
Ran at
Oct 15, 2026, 15:04:51 UTC
Parser version
5

Run timeline

Queued
Oct 15, 2026, 15:00:00 UTC
First update from the server
Oct 15, 2026, 15:04:42 UTC
Completed
Oct 15, 2026, 16:44:49 UTC
Server deleted
Oct 15, 2026, 16:44:49 UTC
Cost of this run
$0.068
Watch party 0 watching

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

Watch party

Loading the party