# LunaNode s.2 4 vCPU / 2 GB

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

Benchmark complete

Finished Oct 22, 2026

Geekbench 7 single-core

615

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

86,366

fio random read and write, 50/50

Monthly price at test time

$14.00

Same price today

## Server

[LunaNode](https://rackcensus.com/vps-providers/lunanode-benchmarks)[s.2 4 vCPU / 2 GB](https://rackcensus.com/plans/6grlvs-lunanode-s-2-4-vcpu-2-gb-benchmarks?location=toronto)

-

Provider

LunaNode

-

Plan

s.2 4 vCPU / 2 GB

-

Location

Toronto

-

vCPU

4

-

RAM

2 GB

-

Storage

35 GB SSD

-

Network

Unknown

-

OS image

Ubuntu 24.04 64-bit (template)

-

Trigger

Scheduled

-

Queued at

Oct 20, 2026, 19:07:00 UTC

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

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 615 | Skipped | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/688638) |

Multi-core was skipped because Geekbench 7 needs about 4.2 GB of free memory to run 4 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 | 79943rd of 52 | Single-core only |
| Navigation | 95337th of 52 | Single-core only |
| HTML5 Browser | 71643rd of 52 | Single-core only |
| PDF Viewer | 92341st of 52 | Single-core only |
| Photo Library | 26950th of 52 | Single-core only |
| Clang | 65744th of 52 | Single-core only |
| Text Processing | 74442nd of 52 | Single-core only |
| Asset Compression | 74743rd of 52 | Single-core only |
| HDR | 52947th of 52 | Single-core only |
| Photo Editor | 40748th of 52 | Single-core only |
| Ray Tracer | 67244th of 52 | Single-core only |
| Structure from Motion | 82244th of 52 | Single-core only |
| Game Physics | 62844th of 52 | Single-core only |
| Video Encoder | 40949th of 52 | Single-core only |
| Audio Encoder | 78243rd of 52 | Single-core only |
| Video Player | 35648th of 52 | Single-core only |

Rank among the 52 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 | 168.5 MB/s (43,126 IOPS) | 168.9 MB/s (43,240 IOPS) | 337.4 MB/s (86,366 IOPS) |
| 64K | 1.69 GB/s (27,696 IOPS) | 1.7 GB/s (27,842 IOPS) | 3.39 GB/s (55,538 IOPS) |
| 512K | 1.79 GB/s (3,670 IOPS) | 1.89 GB/s (3,865 IOPS) | 3.68 GB/s (7,535 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 |
| --- | --- | --- | --- |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.57 Gbps | 718 Mbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 1.11 Gbps | 808 Mbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 791 Mbps | 335 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.67 / 12.83 | 0 / 0 | Met workload limits |
| 1 | 500 | 496.55 | 9.68 / 19.59 | 0 / 620 | Met workload limits |
| 1 | 1000 | 991.39 | 11.65 / 22.67 | 0 / 1541 | Met workload limits |
| 1 | 3000 | 2952.11 | 21.3 / 79.49 | 0 / 8606 | error limit exceeded |
| 2 | 100 | 100 | 8.96 / 13.68 | 0 / 0 | Met workload limits |
| 2 | 500 | 496.51 | 10.68 / 24.89 | 0 / 628 | Met workload limits |
| 2 | 1000 | 991.68 | 13.54 / 35.67 | 0 / 1496 | Met workload limits |
| 2 | 3000 | 2977.81 | 17.83 / 47.45 | 0 / 3979 | Met 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| Repeat | Offered / s | operations/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 1000 | 1000 | 2.17 / 5.62 | 0 / 0 | Met workload limits |
| 1 | 5000 | 4999.6 | 2.57 / 7.24 | 0 / 0 | Met workload limits |
| 1 | 10000 | 9995.08 | 6.24 / 14.43 | 0 / 873 | Met workload limits |
| 1 | 25000 | 21216.13 | 17.83 / 23.15 | 0 / 680975 | load generator saturated |
| 2 | 1000 | 1000 | 2.08 / 4.59 | 0 / 0 | Met workload limits |
| 2 | 5000 | 4999.41 | 3.03 / 8.86 | 0 / 99 | Met workload limits |
| 2 | 10000 | 9993.35 | 4.32 / 12.69 | 0 / 1191 | Met workload limits |
| 2 | 25000 | 20207.9 | 19.39 / 24.38 | 0 / 862445 | load 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| Repeat | Offered / s | jobs/s | p95 / p99 ms | Errors / dropped | Result |
| --- | --- | --- | --- | --- | --- |
| 1 | 100 | 100 | 5.12 / 9.26 | 0 / 0 | Met workload limits |
| 1 | 500 | 500 | 5.18 / 11.52 | 0 / 0 | Met workload limits |
| 1 | 1000 | 999.99 | 7.75 / 19.39 | 0 / 0 | Met workload limits |
| 1 | 3000 | 2994.81 | 37.54 / 69.72 | 0 / 864 | latency limit exceeded |
| 2 | 100 | 100 | 5.18 / 9.36 | 0 / 0 | Met workload limits |
| 2 | 500 | 500 | 6.46 / 13.83 | 0 / 0 | Met workload limits |
| 2 | 1000 | 999.99 | 5.43 / 11.4 | 0 / 0 | Met workload limits |
| 2 | 3000 | 2996.29 | 29.05 / 78.69 | 0 / 660 | latency limit exceeded |

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

### Discourse community
Failed

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

RuntimeError: RuntimeError: ValueError: GET /session/csrf returned HTTP 503

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 | 53.6 / 62.39 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 128.76 / 2863.83 | 0 / 0 | latency limit exceeded |
| 1 | 50 | 2.19 | 7013.92 / 7013.92 | 6283 / 2307 | latency limit exceeded |
| 1 | 100 | 0 | 7013.92 / 7013.92 | 6656 / 11344 | no completed operations |
| 2 | 5 | 5 | 90.6 / 126.21 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 62.39 / 117.65 | 0 / 0 | Met workload limits |
| 2 | 50 | 2.03 | 7013.92 / 7013.92 | 6291 / 2329 | latency limit exceeded |
| 2 | 100 | 1 | 7013.92 / 7013.92 | 6472 / 11344 | 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 | 86.16 / 289.52 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 73.33 / 102.22 | 0 / 0 | Met workload limits |
| 1 | 50 | 42.87 | 6477.16 / 6541.94 | 0 / 1079 | latency limit exceeded |
| 1 | 100 | 43.24 | 6477.16 / 6607.37 | 0 / 9993 | latency limit exceeded |
| 2 | 5 | 5 | 75.58 / 88.8 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 70.43 / 92.44 | 0 / 0 | Met workload limits |
| 2 | 50 | 41.94 | 6607.37 / 7013.92 | 0 / 1247 | latency limit exceeded |
| 2 | 100 | 42.75 | 6673.45 / 6875.7 | 0 / 10123 | 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 | 731.94 / 833.16 | 0 / 0 | Met workload limits |
| 1 | 20 | 17.78 | 7013.92 / 7013.92 | 349 / 0 | latency limit exceeded |
| 1 | 50 | 0.79 | 7013.92 / 7013.92 | 6477 / 2375 | latency limit exceeded |
| 1 | 100 | 0.77 | 7013.92 / 7013.92 | 6580 / 11277 | latency limit exceeded |
| 2 | 5 | 5 | 717.5 / 929.64 | 0 / 0 | Met workload limits |
| 2 | 20 | 17.75 | 7013.92 / 7013.92 | 350 / 0 | latency limit exceeded |
| 2 | 50 | 0.73 | 7013.92 / 7013.92 | 6489 / 2375 | latency limit exceeded |
| 2 | 100 | 0.86 | 7013.92 / 7013.92 | 6565 / 11275 | latency limit exceeded |

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

### Formbricks / Next.js
Insufficient RAM

Public survey rendering, persisted responses and authenticated analysis.

Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

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

### Elasticsearch search and ingestion
Insufficient RAM

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

Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

p95 ≤ 250 ms · p99 ≤ 500 ms · errors ≤ 1.0%

### GitHub self-hosted runner
Insufficient RAM

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

Requires 8192 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

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

### Odoo Community sales
Insufficient RAM

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

Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

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

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 4 | 4 |
| CPU | Shared vCPU | 2% of busy CPU time stolen |
| RAM | 2 GB | 1.9 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 Xeon E312xx (Sandy Bridge, IBRS update)

**CPU cores:** 4

**CPU frequency:** 2900 MHz

**AES-NI:** Yes

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

**RAM reported:** 1.9 GiB

**Swap reported:** 1024 MiB

**Disk reported:** 33.8 GiB

**Virtualization reported:** KVM

**CPU steal:** 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:** No

## Advertised at test time

**Plan:** s.2 4 vCPU / 2 GB

**Product line:** General Purpose

**Location:** Toronto

**vCPU:** 4 shared vCPU

**Architecture:** x86\_64

**RAM:** 2 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 21, 2026, 20:34:41 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 20, 2026, 19:07:00 UTC

**Server created:** Oct 21, 2026, 20:33:53 UTC

**First update from the server:** Oct 21, 2026, 20:33:53 UTC

**Completed:** Oct 22, 2026, 00:22:05 UTC

**Server deleted:** Oct 22, 2026, 00:22:05 UTC

**Cost of this run:** $0.075

Tests 37 of 39 done Live output 1095 lines

Setup 4 cores, 1.9 GiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 1.11 Gbit/s send, 718 Mbit/s receive, 2 retried 3 of 3Done

Geekbench 7, single-core Score 615 18 of 18Done

Web apps 2 failed, 4 skipped 6 of 8Some failed

TestResultTime

PostgreSQL transactions 8 measured trials completed 8 trials Measurements, 8 measured trials completed 31m 07s

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 4m 40s

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

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

Discourse community RuntimeError: RuntimeError: ValueError: GET /session/csrf returned HTTP 503 Stopped RuntimeError: RuntimeError: ValueError: GET /session/csrf returned HTTP 503 20m 29s

n8n workflows 8 measured trials completed 8 trials Measurements, 8 measured trials completed 33m 53s

n8n queue workers 8 measured trials completed 8 trials Measurements, 8 measured trials completed 33m 16s

Ghost publishing 8 measured trials completed 8 trials Measurements, 8 measured trials completed 36m 16s

Formbricks / Next.js Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

Elasticsearch search and ingestion Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

GitHub self-hosted runner Requires 8192 MiB RAM; plan has 2048 MiB, 1966 MiB detected. Not run Requires 8192 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

Odoo Community sales Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected. Not run Requires 4096 MiB RAM; plan has 2048 MiB, 1966 MiB detected.

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 01:22 UTC. It's read only now.

## Watch party

Loading the party
