Skip to main content

LunaNode m.4 2 vCPU / 4 GB

Toronto

Benchmark complete
Finished Oct 12, 2026
Geekbench 7 single-core
893
Faster than 32% of 2 vCPU plans
Geekbench 7 multi-core
1,721
Faster than 46% of 2 vCPU plans
Disk 4K IOPS
91,875
fio random read and write, 50/50
Monthly price at test time
$14.00
123 multi-core points per dollar
Same price today

Server

  • Provider
    LunaNode
  • Plan
    m.4 2 vCPU / 4 GB
  • Location
    Toronto
  • vCPU
    2
  • RAM
    4 GB
  • Storage
    35 GB SSD
  • Network
    Unknown
  • OS image
    Ubuntu 24.04 64-bit (template)
  • Trigger
    Scheduled
  • Queued at
    Oct 12, 2026, 16:22:00 UTC

CPU

Version Single-core Multi-core Result link
Geekbench 7 893 1,721 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,016
97th of 129
1,467
82nd of 103
Navigation
1,119
92nd of 129
Single-core only
HTML5 Browser
911
95th of 129
Single-core only
PDF Viewer
1,009
97th of 129
Single-core only
Photo Library
694
106th of 129
1,395
81st of 103
Clang
931
98th of 129
1,843
75th of 103
Text Processing
977
89th of 129
1,833
74th of 103
Asset Compression
1,049
89th of 129
2,125
70th of 103
HDR
768
108th of 129
1,442
82nd of 103
Photo Editor
843
102nd of 129
1,741
70th of 103
Ray Tracer
931
101st of 129
2,091
72nd of 103
Structure from Motion
840
116th of 129
Single-core only
Game Physics
909
103rd of 129
Single-core only
Video Encoder
758
109th of 129
Single-core only
Audio Encoder
922
106th of 129
Single-core only
Video Player
730
111th of 129
Single-core only

Rank among the 129 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 34.5 GB/s 3 0.223%
Scale higher is better 18.3 GB/s 3 1%
Add higher is better 19.4 GB/s 3 1.24%
Triad higher is better 19.5 GB/s 3 1.09%

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 445/s 3 1.13%
RSA 4096 verifies higher is better 29,789/s 3 0.103%
SHA-256 higher is better 498 MB/s 3 0.612%
AES-256-GCM higher is better 5.61 GB/s 3 0.282%
ChaCha20-Poly1305 higher is better 2.97 GB/s 3 0.314%

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.04 ms 3 0.114%
Requests per second, 90th percentile higher is better 484/s 3 0.547%
Request latency, 99.9th percentile lower is better 10.1 ms 3 0.663%
Requests per second, average higher is better 472/s 3 0.565%

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

Disk

Block size Read Write Total
4K 179.2 MB/s (45,877 IOPS) 179.7 MB/s (45,998 IOPS) 358.9 MB/s (91,875 IOPS)
64K 1.65 GB/s (27,054 IOPS) 1.66 GB/s (27,197 IOPS) 3.31 GB/s (54,251 IOPS)
512K 1.67 GB/s (3,410 IOPS) 1.75 GB/s (3,591 IOPS) 3.42 GB/s (7,001 IOPS)
1M 1.64 GB/s (1,681 IOPS) 1.75 GB/s (1,793 IOPS) 3.39 GB/s (3,474 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, London, UK (10G) IPv4 799 Mbps 353 Mbps
Eranium, Amsterdam, NL (100G) IPv4 821 Mbps 557 Mbps
Leaseweb, Singapore, SG (10G) IPv4 591 Mbps 388 Mbps
Clouvider, Los Angeles, CA, US (10G) IPv4 955 Mbps 624 Mbps
Leaseweb, NYC, NY, US (10G) IPv4 1.57 Gbps 581 Mbps

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

Datastores

PostgreSQL

fsync speed (pg_test_fsync)

Method Operations per second Time per operation
One 8 kB write
open_datasync 4,413 0.227 ms
fdatasync 3,901 0.256 ms
fsync 2,411 0.415 ms
fsync_writethrough Not supported here n/a
open_sync 2,587 0.387 ms
Two 8 kB writes
open_datasync 1,988 0.503 ms
fdatasync 3,471 0.288 ms
fsync 2,229 0.449 ms
fsync_writethrough Not supported here n/a
open_sync 1,476 0.677 ms
open_sync at different write sizes
1 * 16kB open_sync write 2,534 0.395 ms
2 * 8kB open_sync writes 1,390 0.72 ms
4 * 4kB open_sync writes 685 1.46 ms
8 * 2kB open_sync writes 375 2.66 ms
16 * 1kB open_sync writes 201 4.99 ms
fsync on a non-write descriptor
write, fsync, close 2,256 0.443 ms
write, close, fsync 1,925 0.52 ms
Non-synced 8 kB writes
write 296,315 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 997 0.911 ms 1.46 ms 1.95 ms 6.91 ms 0
Read/write (TPC-B like) 8 2,577 2.78 ms 5.19 ms 7.52 ms 12.8 ms 0
Read/write (TPC-B like) 32 2,607 9.85 ms 27.2 ms 45.3 ms 82.8 ms 0
Read only 1 14,439 0.063 ms 0.094 ms 0.125 ms 0.217 ms 0
Read only 8 27,133 0.268 ms 0.425 ms 0.512 ms 1.06 ms 0
Read only 32 29,258 0.939 ms 1.39 ms 1.98 ms 3.79 ms 0

Scale 10 (1,000,000 accounts), loaded in 2.63 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 821 1.05 ms 1.8 ms 3.29 ms 13 ms 0
Read/write (TPC-B like) 8 1,887 3.44 ms 6.7 ms 12.4 ms 116 ms 0
Read/write (TPC-B like) 32 2,397 11.3 ms 22 ms 43.1 ms 158 ms 0
Read only 1 2,103 0.132 ms 0.322 ms 0.984 ms 80.6 ms 0
Read only 8 1,654 0.347 ms 4.42 ms 94.7 ms 198 ms 0
Read only 32 1,798 1.8 ms 91.1 ms 188 ms 290 ms 0

Scale 100 (10,000,000 accounts), loaded in 30 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 28.7 575 7.43 ms 95.8 ms 111 ms 0
Read/write 8 155 3,091 18.6 ms 208 ms 397 ms 0
Read/write 32 493 9,868 63.3 ms 111 ms 148 ms 0
Read only 1 551 8,817 1.7 ms 2.43 ms 3.36 ms 0
Read only 8 984 15,744 7.84 ms 10.5 ms 12.5 ms 0
Read only 32 909 14,539 35 ms 42.6 ms 47.5 ms 0

10 tables of 100,000 rows, loaded in 99.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 4,651 4,227 2.9 ms 92.2 ms 184 ms
1:1 set:get 4,131 2,065 2.96 ms 92.2 ms 186 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 43.6 170 195 7.11 s
Express express-postgresjs 1,046 1,191 1,938 2.61 s
Fastify fastify-postgres 5,755 8,123 7,183 125 ms
NestJS nestjs 2,955 3,325 10,881 889 ms
Nuxt nuxt 735 968 1,551 3.56 s
FastAPI fastapi 2,400 2,934 1,312 518 ms
Django django-postgresql 919 1,036 2,034 369 ms
Rails rails 213 292 961 1.8 s
Laravel laravel 69.8 72.7 143 3.9 s
Symfony symfony 679 748 248 421 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 1.71 910 ms 1.03 s 1.05 s 0%
Shop page 1.71 1.22 s 1.38 s 1.42 s 0%
Category page 1.71 797 ms 1.22 s 1.3 s 0%
Product page 1.71 864 ms 1 s 1.04 s 0%
Product search 1.71 735 ms 862 ms 902 ms 0%
32 virtual users
Home page 1.8 3.24 s 3.66 s 3.8 s 0%
Shop page 1.8 4.36 s 4.88 s 4.93 s 0%
Category page 1.8 3.82 s 4.48 s 4.75 s 0%
Product page 1.8 3.33 s 3.61 s 3.67 s 0%
Product search 1.51 3.08 s 3.33 s 3.45 s 0%

Cart and checkout

Step Requests/s Median p95 p99 Error rate
8 virtual users
Add to cart 1.15 997 ms 8.52 s 9.41 s 0%
Cart 1.15 840 ms 7.22 s 7.86 s 0%
Checkout 1.15 689 ms 5.31 s 5.54 s 0%
32 virtual users
Add to cart 0.435 16.4 s 29.6 s 29.7 s 0%
Cart 0.435 26 s 28.9 s 29.3 s 0%
Checkout 0.34 21.8 s 24.9 s 25.6 s 0%

k6 with a fixed number of virtual users, 64 to 73 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.35 322 ms 417 ms 487 ms 0%
Topic JSON 0.691 160 ms 194 ms 207 ms 0%
Home page 0.691 287 ms 496 ms 595 ms 0%
Categories page 0.346 331 ms 382 ms 455 ms 0%
User activity page 0.329 215 ms 440 ms 504 ms 0%
4 virtual users
Topic page 2.98 596 ms 816 ms 1.2 s 0%
Topic JSON 1.5 286 ms 386 ms 418 ms 0%
Home page 1.47 527 ms 672 ms 958 ms 0%
Categories page 0.79 603 ms 802 ms 1.35 s 0%
User activity page 0.724 366 ms 561 ms 591 ms 0%
16 virtual users
Topic page 1.78 1.84 s 3 s 13.7 s 0%
Topic JSON 0.892 1.49 s 2.33 s 12.7 s 0%
Home page 0.907 1.86 s 5.41 s 14.4 s 0%
Categories page 0.439 1.83 s 7.99 s 14.3 s 0%
User activity page 0.453 1.61 s 5.43 s 11.4 s 0%

Anonymous

Step Requests/s Median p95 p99 Error rate
16 virtual users
Topic page 4.66 706 ms 1.1 s 3.1 s 28%
Topic JSON 2.41 719 ms 1.19 s 1.6 s 35.7%
Home page 2.36 802 ms 1.21 s 4.26 s 29.2%
Categories page 1.18 844 ms 3.43 s 5.55 s 35.1%
User activity page 1.18 2.8 s 5.5 s 6.33 s 31.2%

k6 with a fixed number of virtual users, 61 to 71 s per level, after a 22 s warmup. The error rate counts responses that weren't a 200. Discourse ran with 4 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,383 MB.

Ghost

Readers

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 5.04 54.1 ms 77.7 ms 109 ms 0%
Post page 12.6 28.5 ms 41.7 ms 57.4 ms 0%
Tag page 2.53 35 ms 53.5 ms 66.4 ms 0%
Author page 2.51 36.4 ms 54.9 ms 69.5 ms 0%
RSS feed 2.51 45.7 ms 69.8 ms 77.5 ms 0%
4 virtual users
Home page 6.74 153 ms 209 ms 251 ms 0%
Post page 16.8 108 ms 154 ms 188 ms 0%
Tag page 3.38 103 ms 153 ms 175 ms 0%
Author page 3.34 99.5 ms 150 ms 177 ms 0%
RSS feed 3.33 110 ms 160 ms 182 ms 0%
16 virtual users
Home page 6.55 623 ms 762 ms 825 ms 0%
Post page 16.3 511 ms 653 ms 706 ms 0%
Tag page 3.29 333 ms 427 ms 476 ms 0%
Author page 3.26 338 ms 453 ms 484 ms 0%
RSS feed 3.26 343 ms 433 ms 481 ms 0%

Staff in Ghost Admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Post list 2.57 57.7 ms 88.8 ms 109 ms 0%
Post editor 7.73 21.2 ms 34.4 ms 42.7 ms 0%
Saving a draft 7.71 54.8 ms 77.5 ms 100 ms 0%
Member list 2.57 67.2 ms 98.4 ms 141 ms 0%
4 virtual users
Post list 0.514 404 ms 599 ms 951 ms 0%
Post editor 1.61 208 ms 389 ms 489 ms 0%
Saving a draft 1.62 1.7 s 2.3 s 2.58 s 0%
Member list 0.531 483 ms 647 ms 824 ms 0%

k6 with a fixed number of virtual users, 60 to 62 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 367 MB and MySQL at 617 MB.

Wagtail

Visitors

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 1.06 115 ms 155 ms 161 ms 0%
Blog index 1.06 433 ms 532 ms 595 ms 0%
Blog post 3.13 38.8 ms 59.7 ms 71.3 ms 0%
Bread page 3.15 42 ms 62.1 ms 66.8 ms 0%
Location page 1.06 38.9 ms 63.8 ms 112 ms 0%
Site search 1.04 64.9 ms 133 ms 145 ms 0%
4 virtual users
Home page 1.89 285 ms 470 ms 599 ms 0%
Blog index 1.94 963 ms 1.38 s 1.44 s 0%
Blog post 5.7 81.8 ms 155 ms 188 ms 0%
Bread page 5.73 93 ms 140 ms 160 ms 0%
Location page 1.94 88.4 ms 130 ms 149 ms 0%
Site search 1.88 136 ms 256 ms 322 ms 0%
16 virtual users
Home page 1.84 1.04 s 1.45 s 1.6 s 0%
Blog index 1.91 2.57 s 3.14 s 3.55 s 0%
Blog post 5.52 562 ms 1.09 s 1.26 s 0%
Bread page 5.56 551 ms 988 ms 1.35 s 0%
Location page 1.86 510 ms 813 ms 1.14 s 0%
Site search 1.82 612 ms 1.14 s 1.36 s 0%

Editors in the Wagtail admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Admin dashboard 0.392 147 ms 193 ms 203 ms 0%
Page explorer 0.8 578 ms 716 ms 845 ms 0%
Page editor 1.18 286 ms 373 ms 524 ms 0%
Image library 0.392 106 ms 167 ms 1.11 s 0%
Admin page search 0.392 59.8 ms 117 ms 155 ms 0%
4 virtual users
Admin dashboard 0.592 321 ms 687 ms 697 ms 0%
Page explorer 1.22 1.45 s 2.89 s 5.95 s 0%
Page editor 1.84 682 ms 1.3 s 4.27 s 0%
Image library 0.592 296 ms 764 ms 831 ms 0%
Admin page search 0.592 122 ms 386 ms 524 ms 0%

k6 with a fixed number of virtual users, 61 to 63 s per level, after a 24 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 165 MB, and Redis at 26 MB.

Advertised vs. measured

Spec Advertised Measured
vCPU 2 2
CPU Shared vCPU 0.1% of busy CPU time stolen
RAM 4 GB 3.8 GiB
Storage 35 GB SSD 33.8 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
2
CPU frequency
2600 MHz
AES-NI
Yes
VM-x/AMD-V
Yes
RAM reported
3.8 GiB
Swap reported
2 GiB
Disk reported
33.8 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
m.4 2 vCPU / 4 GB
Product line
Memory-Optimized
Location
Toronto
vCPU
2 shared vCPU
Architecture
x86_64
RAM
4 GB
Storage
35 GB SSD
Virtualization
KVM
Network
Unknown
Transfer
2.5 TB
Port 25
Unknown
Monthly price at test time
$14.00
Hourly price at test time
$0.019
YABS version
v2026-09-20
Ran at
Oct 12, 2026, 16:27:36 UTC
Parser version
5

Run timeline

Queued
Oct 12, 2026, 16:22:00 UTC
Server created
Oct 12, 2026, 16:26:27 UTC
First update from the server
Oct 12, 2026, 16:26:27 UTC
Completed
Oct 12, 2026, 18:57:55 UTC
Server deleted
Oct 12, 2026, 18:57:55 UTC
Cost of this run
$0.051
Watch party 0 watching

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

Watch party

Loading the party