# LunaNode m.8 4 vCPU / 8 GB

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

Benchmark complete

Finished Oct 24, 2026

Geekbench 7 single-core

814

Faster than 7% of 4 vCPU plans

Geekbench 7 multi-core

2,697

Faster than 0% of 4 vCPU plans

Disk 4K IOPS

138,939

fio random read and write, 50/50

Monthly price at test time

$28.00

96 multi-core points per dollar

Same price today

## Server

[LunaNode](https://rackcensus.com/vps-providers/lunanode-benchmarks)[m.8 4 vCPU / 8 GB](https://rackcensus.com/plans/a1au4h-lunanode-m-8-4-vcpu-8-gb-benchmarks?location=toronto)

-

Provider

LunaNode

-

Plan

m.8 4 vCPU / 8 GB

-

Location

Toronto

-

vCPU

4

-

RAM

8 GB

-

Storage

70 GB SSD

-

Network

Unknown

-

OS image

Ubuntu 24.04 64-bit (template)

-

Trigger

Scheduled

-

Queued at

Oct 22, 2026, 00:48:00 UTC

[Visit LunaNode](https://rackcensus.com/go/lunanode)

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 814 | 2,697 | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/705044) |

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 | 86656th of 76 | 2,23227th of 43 |
| Navigation | 94955th of 76 | Single-core only |
| HTML5 Browser | 83355th of 76 | Single-core only |
| PDF Viewer | 94056th of 76 | Single-core only |
| Photo Library | 68458th of 76 | 2,03528th of 43 |
| Clang | 81956th of 76 | 3,42218th of 43 |
| Text Processing | 91247th of 76 | 3,26616th of 43 |
| Asset Compression | 95247th of 76 | 3,88317th of 43 |
| HDR | 68759th of 76 | 2,30123rd of 43 |
| Photo Editor | 46469th of 76 | 1,44639th of 43 |
| Ray Tracer | 88854th of 76 | 4,26614th of 43 |
| Structure from Motion | 1,02055th of 76 | Single-core only |
| Game Physics | 82156th of 76 | Single-core only |
| Video Encoder | 76158th of 76 | Single-core only |
| Audio Encoder | 92952nd of 76 | Single-core only |
| Video Player | 71559th of 76 | Single-core only |

Rank among the 76 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 | 271 MB/s (69,378 IOPS) | 271.7 MB/s (69,561 IOPS) | 542.7 MB/s (138,939 IOPS) |
| 64K | 2.09 GB/s (34,293 IOPS) | 2.1 GB/s (34,474 IOPS) | 4.2 GB/s (68,767 IOPS) |
| 512K | 2.1 GB/s (4,294 IOPS) | 2.21 GB/s (4,523 IOPS) | 4.31 GB/s (8,817 IOPS) |
| 1M | 2.04 GB/s (2,090 IOPS) | 2.18 GB/s (2,229 IOPS) | 4.22 GB/s (4,319 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, NYC, NY, US (10G) | IPv4 | 568 Mbps | 585 Mbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 547 Mbps | 555 Mbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 363 Mbps | 281 Mbps |

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| Repeat | Offered / s | transactions/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 100 | 100 | 8.29 / 239.48 | 0 / 0 | latency limit exceeded |
| 1 | 500 | 496.15 | 7.16 / 9.68 | 0 / 692 | Met workload limits |
| 1 | 1000 | 988.86 | 6.69 / 22.91 | 0 / 2001 | error limit exceeded |
| 1 | 3000 | 2967.99 | 7.49 / 21.75 | 0 / 5754 | error limit exceeded |
| 2 | 100 | 100 | 7.33 / 138.12 | 0 / 0 | latency limit exceeded |
| 2 | 500 | 496.68 | 6.69 / 19.8 | 0 / 598 | Met workload limits |
| 2 | 1000 | 987.66 | 6.46 / 17.64 | 0 / 2221 | error limit exceeded |
| 2 | 3000 | 2956.84 | 7.66 / 21.08 | 0 / 7709 | error limit exceeded |

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| Repeat | Offered / s | operations/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 1000 | 999.99 | 1.87 / 2.05 | 0 / 0 | Met workload limits |
| 1 | 5000 | 4999.99 | 1.93 / 2.54 | 0 / 0 | Met workload limits |
| 1 | 10000 | 9997.71 | 1.63 / 4.94 | 0 / 406 | Met workload limits |
| 1 | 25000 | 22019.24 | 14.58 / 18.59 | 0 / 536367 | load generator saturated |
| 2 | 1000 | 1000 | 1.9 / 2.05 | 0 / 0 | Met workload limits |
| 2 | 5000 | 4999.95 | 1.93 / 3.27 | 0 / 3 | Met workload limits |
| 2 | 10000 | 9997.76 | 1.57 / 3.77 | 0 / 395 | Met workload limits |
| 2 | 25000 | 21768.62 | 14.43 / 18.59 | 0 / 581607 | latency limit exceeded |

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.43 / 6.17 | 0 / 0 | Met workload limits |
| 1 | 500 | 500 | 3.32 / 4.54 | 0 / 0 | Met workload limits |
| 1 | 1000 | 999.99 | 3.63 / 6.24 | 0 / 0 | Met workload limits |
| 1 | 3000 | 2999.97 | 5.12 / 8.57 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 4.37 / 5.12 | 0 / 0 | Met workload limits |
| 2 | 500 | 500 | 3.4 / 5.18 | 0 / 0 | Met workload limits |
| 2 | 1000 | 999.99 | 3.54 / 5.3 | 0 / 0 | Met workload limits |
| 2 | 3000 | 2999.96 | 5.36 / 9.57 | 0 / 0 | Met 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| Repeat | Offered / s | journeys/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 2 | 1.96 | 275.42 / 382.87 | 8 / 0 | error limit exceeded |
| 1 | 5 | 4.69 | 234.74 / 375.3 | 56 / 0 | error limit exceeded |
| 1 | 10 | 9.19 | 241.88 / 367.89 | 146 / 0 | error limit exceeded |
| 1 | 25 | 22.68 | 418.83 / 593.73 | 416 / 0 | error limit exceeded |
| 2 | 2 | 1.96 | 272.69 / 390.58 | 8 / 0 | error limit exceeded |
| 2 | 5 | 4.69 | 239.48 / 371.58 | 56 / 0 | error limit exceeded |
| 2 | 10 | 9.19 | 230.1 / 364.24 | 146 / 0 | error limit exceeded |
| 2 | 25 | 22.68 | 371.58 / 548.23 | 416 / 0 | error 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| Repeat | Offered / s | workflows/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 5 | 5 | 34.24 / 77.9 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 30.27 / 139.52 | 0 / 0 | Met workload limits |
| 1 | 50 | 49.99 | 553.72 / 1656.39 | 0 / 0 | Met workload limits |
| 1 | 100 | 56.01 | 4901.9 / 5981.47 | 0 / 7752 | latency limit exceeded |
| 2 | 5 | 5 | 34.95 / 106.41 | 0 / 0 | Met workload limits |
| 2 | 20 | 18.91 | 6349.51 / 7013.92 | 197 / 0 | latency limit exceeded |
| 2 | 50 | 6.1 | 7013.92 / 7013.92 | 6116 / 1773 | latency limit exceeded |
| 2 | 100 | 56.39 | 4805.3 / 5308.14 | 0 / 7692 | latency limit exceeded |

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| Repeat | Offered / s | workflows/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 5 | 5 | 44.65 / 51.99 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 40.74 / 56.96 | 0 / 0 | Met workload limits |
| 1 | 50 | 49.99 | 72.59 / 382.87 | 0 / 0 | Met workload limits |
| 1 | 100 | 65.92 | 4350.08 / 5152 | 0 / 5813 | latency limit exceeded |
| 2 | 5 | 5 | 42.87 / 49.42 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 73.33 / 2323.61 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 1006.75 / 2394.05 | 0 / 0 | Met workload limits |
| 2 | 100 | 67.59 | 4057.33 / 4617.76 | 0 / 5621 | latency limit exceeded |

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

### Ghost publishing
Measured

Readers, authenticated draft creation, publishing and image uploads.

Ghost publishing measurements| Repeat | Offered / s | journeys/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 5 | 5 | 542.79 / 587.84 | 0 / 0 | Met workload limits |
| 1 | 20 | 19.97 | 893.33 / 1047.67 | 0 / 0 | Met workload limits |
| 1 | 50 | 2.2 | 7013.92 / 7013.92 | 6247 / 2343 | latency limit exceeded |
| 1 | 100 | 6.52 | 7013.92 / 7013.92 | 5560 / 11227 | latency limit exceeded |
| 2 | 5 | 5 | 542.79 / 576.24 | 0 / 0 | Met workload limits |
| 2 | 20 | 19.98 | 867.03 / 1006.75 | 0 / 0 | Met workload limits |
| 2 | 50 | 9.02 | 7013.92 / 7013.92 | 5016 / 2316 | latency limit exceeded |
| 2 | 100 | 10.58 | 7013.92 / 7013.92 | 4830 / 11206 | latency 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%

### Elasticsearch search and ingestion
Measured

Full-text search, filtering and aggregations while new documents are indexed.

Elasticsearch search and ingestion measurements| Repeat | Offered / s | operations/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 10 | 10 | 13.39 / 16.04 | 0 / 0 | Met workload limits |
| 1 | 50 | 50 | 10.56 / 16.74 | 0 / 0 | Met workload limits |
| 1 | 100 | 100 | 8.2 / 11.52 | 0 / 0 | Met workload limits |
| 1 | 250 | 250 | 7.66 / 11.65 | 0 / 0 | Met workload limits |
| 2 | 10 | 10 | 13.98 / 18.4 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 11.03 / 29.05 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 8.38 / 11.9 | 0 / 0 | Met workload limits |
| 2 | 250 | 250 | 9.16 / 23.88 | 0 / 0 | Met workload limits |

p95 ≤ 250 ms · p99 ≤ 500 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.2% of busy CPU time stolen |
| RAM | 8 GB | 7.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 (Haswell, no TSX, IBRS)

**CPU cores:** 4

**CPU frequency:** 2600 MHz

**AES-NI:** Yes

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

**RAM reported:** 7.8 GiB

**Swap reported:** 2 GiB

**Disk reported:** 67.7 GiB

**Virtualization reported:** KVM

**CPU steal:** 0.2% 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.8 4 vCPU / 8 GB

**Product line:** Memory-Optimized

**Location:** Toronto

**vCPU:** 4 shared vCPU

**Architecture:** x86\_64

**RAM:** 8 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 24, 2026, 00:33:09 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 22, 2026, 00:48:00 UTC

**First update from the server:** Oct 24, 2026, 00:32:51 UTC

**Completed:** Oct 24, 2026, 05:27:39 UTC

**Server deleted:** Oct 24, 2026, 05:27:39 UTC

**Cost of this run:** $0.19

Tests 47 of 51 done Live output 1361 lines

Setup 4 cores, 7.8 GiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 547 Mbit/s send, 555 Mbit/s receive 3 of 3Done

Geekbench 7, single-core Score 814 17 of 17Done

Geekbench 7, multi-core Score 2,697 9 of 9Done

Web apps 4 failed 8 of 12Some failed

TestResultTime

PostgreSQL transactions 8 measured trials completed 8 trials Measurements, 8 measured trials completed 30m 19s

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 3m 34s

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

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

Discourse community 8 measured trials completed 8 trials Measurements, 8 measured trials completed 38m 07s

n8n workflows 8 measured trials completed 8 trials Measurements, 8 measured trials completed 32m 05s

n8n queue workers 8 measured trials completed 8 trials Measurements, 8 measured trials completed 31m 45s

Ghost publishing 8 measured trials completed 8 trials Measurements, 8 measured trials completed 33m 41s

Formbricks / Next.js RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 16m 51s

Elasticsearch search and ingestion 8 measured trials completed 8 trials Measurements, 8 measured trials completed 35m 36s

GitHub self-hosted runner ValueError: set RUNNER\_BENCHMARK\_REPOSITORY and RUNNER\_BENCHMARK\_REVISION to the repository and commit hosting benchmark-runner.yml Stopped ValueError: set RUNNER\_BENCHMARK\_REPOSITORY and RUNNER\_BENCHMARK\_REVISION to the repository and commit hosting benchmark-runner.yml 0s

Odoo Community sales Application workloads Stopped 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' 2m 09s

Finish Results saved 1 of 1Done

Watch party 0 watching

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

## Watch party

Loading the party
