# Scaleway BASIC2-A2C-4G

[Paris 1](https://rackcensus.com/locations/paris-vps-benchmarks "Every provider in Paris")

Benchmark complete

Finished Oct 14, 2026

Geekbench 7 single-core

930

Faster than 31% of 2 vCPU plans

Median here: 928 over 2 runs in 90 days

Geekbench 7 multi-core

1,747

Faster than 36% of 2 vCPU plans

Median here: 1,742 over 2 runs in 90 days

Disk 4K IOPS

5,160

fio random read and write, 50/50

Median here: 5,159 over 2 runs in 90 days

Monthly price at test time

€16.79 EUR

89 multi-core points per dollar

Same price today

## Server

[Scaleway](https://rackcensus.com/vps-providers/scaleway-benchmarks)[BASIC2-A2C-4G](https://rackcensus.com/plans/bmh9l8-scaleway-basic2-a2c-4g-benchmarks?location=fr-par-1)

-

Provider

Scaleway

-

Plan

BASIC2-A2C-4G

-

Location

Paris 1

-

vCPU

2

-

RAM

4 GB

-

Storage

-

Network

200 Mbps

-

OS image

ubuntu\_noble

-

Trigger

Scheduled

-

Queued at

Oct 14, 2026, 14:44:00 UTC

[Visit Scaleway](https://rackcensus.com/go/scaleway)

## Latest runs of this plan

- [Amsterdam 1 Oct 14, 2026](https://rackcensus.com/benchmarks/xm0gkr-scaleway-basic2-a2c-4g-nl-ams-1-benchmark)983
- [Paris 1 Oct 7, 2026](https://rackcensus.com/benchmarks/9h2d8o-scaleway-basic2-a2c-4g-fr-par-1-benchmark)925

[Full history of this plan](https://rackcensus.com/plans/bmh9l8-scaleway-basic2-a2c-4g-benchmarks/history)

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 930 | 1,747 | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/631087) |

Scores from different Geekbench versions aren't comparable with each other. Charts only use Geekbench 7.

## Memory, TLS and scheduler

### Memory bandwidth (STREAM)

| Test | Result | Runs | Spread |
| --- | --- | --- | --- |
| Copy higher is better | 43.6 GB/s | 3 | 2% |
| Scale higher is better | 43.1 GB/s | 3 | 2.6% |
| Add higher is better | 41.1 GB/s | 3 | 1.04% |
| Triad higher is better | 40.9 GB/s | 3 | 1.97% |

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 | 96.1/s | 3 | 1.45% |
| RSA 4096 verifies higher is better | 7,960/s | 3 | 0.348% |
| SHA-256 higher is better | 1.46 GB/s | 3 | 0.518% |
| AES-256-GCM higher is better | 4.71 GB/s | 3 | 0.122% |
| ChaCha20-Poly1305 higher is better | 1.73 GB/s | 3 | 0.1% |

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 | 15 ms | 3 | 0.327% |
| Requests per second, 90th percentile higher is better | 132/s | 3 | 0% |
| Request latency, 99.9th percentile lower is better | 35.8 ms | 3 | 13.4% |
| Requests per second, average higher is better | 132/s | 3 | 0.462% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 10.1 MB/s (2,576 IOPS) | 10.1 MB/s (2,584 IOPS) | 20.2 MB/s (5,160 IOPS) |
| 64K | 78.9 MB/s (1,262 IOPS) | 81.2 MB/s (1,299 IOPS) | 160.1 MB/s (2,561 IOPS) |
| 512K | 74.9 MB/s (149 IOPS) | 81.3 MB/s (162 IOPS) | 156.1 MB/s (311 IOPS) |
| 1M | 73.3 MB/s (73 IOPS) | 81.8 MB/s (81 IOPS) | 155.1 MB/s (154 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 | 962 | 1.04 ms |
| fdatasync | 964 | 1.04 ms |
| fsync | 354 | 2.82 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 353 | 2.83 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 474 | 2.11 ms |
| fdatasync | 867 | 1.15 ms |
| fsync | 359 | 2.78 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 180 | 5.56 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 359 | 2.79 ms |
| 2 \* 8kB open\_sync writes | 184 | 5.44 ms |
| 4 \* 4kB open\_sync writes | 92 | 10.9 ms |
| 8 \* 2kB open\_sync writes | 44.5 | 22.5 ms |
| 16 \* 1kB open\_sync writes | 22.6 | 44.3 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 364 | 2.75 ms |
| write, close, fsync | 346 | 2.89 ms |
| Non-synced 8 kB writes |
| --- |
| write | 1,065,516 | 0.001 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 | 437 | 2.06 ms | 3.07 ms | 4.61 ms | 11.4 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,723 | 3.7 ms | 8.84 ms | 14.3 ms | 128 ms | 0 |
| Read/write (TPC-B like) | 32 | 2,000 | 10.7 ms | 40.1 ms | 76 ms | 370 ms | 0 |
| Read only | 1 | 23,227 | 0.039 ms | 0.058 ms | 0.083 ms | 0.153 ms | 0 |
| Read only | 8 | 34,319 | 0.218 ms | 0.354 ms | 0.439 ms | 0.798 ms | 0 |
| Read only | 32 | 27,218 | 1.11 ms | 1.81 ms | 2.3 ms | 3.77 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 3.66 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 | 309 | 2.65 ms | 4.36 ms | 8.15 ms | 65.9 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,218 | 4.44 ms | 13.7 ms | 41.4 ms | 360 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,499 | 13.6 ms | 55.5 ms | 151 ms | 794 ms | 0 |
| Read only | 1 | 11,678 | 0.054 ms | 0.122 ms | 0.418 ms | 1.6 ms | 0 |
| Read only | 8 | 23,829 | 0.298 ms | 0.517 ms | 0.818 ms | 2.53 ms | 0 |
| Read only | 32 | 21,685 | 1.4 ms | 2.28 ms | 2.83 ms | 4.44 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 60.5 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 | 76.2 | 1,524 | 9.91 ms | 21.9 ms | 103 ms | 0 |
| Read/write | 8 | 247 | 4,940 | 19 ms | 113 ms | 212 ms | 0 |
| Read/write | 32 | 383 | 7,663 | 71.8 ms | 170 ms | 240 ms | 0 |
| Read only | 1 | 720 | 11,518 | 1.27 ms | 1.96 ms | 3.43 ms | 0 |
| Read only | 8 | 1,040 | 16,642 | 7.3 ms | 10.7 ms | 12.3 ms | 0 |
| Read only | 32 | 939 | 15,028 | 33.1 ms | 43.4 ms | 47.5 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 66,065 | 60,059 | 0.527 ms | 3.04 ms | 4.61 ms |
| 1:1 set:get | 64,463 | 32,231 | 0.551 ms | 3.1 ms | 4.64 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 | 378 | 1,101 | 1,747 | 2.24 s |
| Express express-postgresjs | 5,291 | 6,660 | 15,566 | 409 ms |
| Fastify fastify-postgres | 5,271 | 7,675 | 18,976 | 370 ms |
| NestJS nestjs | 2,291 | 2,485 | 9,047 | 179 ms |
| Nuxt nuxt | 4,469 | 6,090 | 14,436 | 423 ms |
| FastAPI fastapi | 1,882 | 2,393 | 16,110 | 655 ms |
| Django django-postgresql | 1,083 | 1,161 | 3,305 | 338 ms |
| Rails rails | 1,347 | 1,948 | 8,165 | 263 ms |
| Laravel laravel | 380 | 382 | 649 | 726 ms |
| Symfony symfony | 468 | 526 | 1,358 | 569 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.43 | 1.11 s | 1.24 s | 1.28 s | 0% |
| Shop page | 1.43 | 1.51 s | 1.68 s | 1.75 s | 0% |
| Category page | 1.43 | 937 ms | 1.49 s | 1.6 s | 0% |
| Product page | 1.43 | 1.02 s | 1.18 s | 1.23 s | 0% |
| Product search | 1.43 | 855 ms | 1.03 s | 1.07 s | 0% |
| 32 virtual users |
| --- |
| Home page | 1.39 | 4.08 s | 4.57 s | 4.82 s | 0% |
| Shop page | 1.39 | 5.58 s | 6.4 s | 6.58 s | 0% |
| Category page | 1.39 | 4.87 s | 6.03 s | 6.34 s | 0% |
| Product page | 1.39 | 4.1 s | 4.41 s | 4.46 s | 0% |
| Product search | 1.39 | 3.87 s | 4.19 s | 4.36 s | 0% |

#### Cart and checkout

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Add to cart | 2.59 | 1.3 s | 1.5 s | 1.61 s | 0% |
| Cart | 2.59 | 990 ms | 1.18 s | 1.31 s | 0% |
| Checkout | 2.59 | 794 ms | 925 ms | 986 ms | 0% |
| 32 virtual users |
| --- |
| Add to cart | 2.54 | 4.19 s | 5.3 s | 5.43 s | 0% |
| Cart | 2.54 | 4.46 s | 5.02 s | 5.15 s | 0% |
| Checkout | 2.54 | 3.45 s | 3.99 s | 4.11 s | 0% |

k6 with a fixed number of virtual users, 63 to 69 s per level. The error rate counts responses that weren't a 200.

### Discourse

#### Signed in

Skipped: not enough disk, needs 7432 MB and 4434 MB is free

#### Anonymous

Skipped: not enough disk, needs 7500 MB and 4434 MB is free

### Ghost

#### Readers

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Home page | 4.53 | 58.2 ms | 89.9 ms | 101 ms | 0% |
| Post page | 11.3 | 33 ms | 47.3 ms | 54.7 ms | 0% |
| Tag page | 2.26 | 39.3 ms | 62.1 ms | 72.6 ms | 0% |
| Author page | 2.26 | 40.8 ms | 65.8 ms | 69.8 ms | 0% |
| RSS feed | 2.25 | 48.3 ms | 76 ms | 83.3 ms | 0% |
| 4 virtual users |
| --- |
| Home page | 5.85 | 176 ms | 243 ms | 281 ms | 0% |
| Post page | 14.6 | 125 ms | 185 ms | 219 ms | 0% |
| Tag page | 2.96 | 113 ms | 153 ms | 195 ms | 0% |
| Author page | 2.93 | 116 ms | 169 ms | 187 ms | 0% |
| RSS feed | 2.93 | 116 ms | 183 ms | 207 ms | 0% |
| 16 virtual users |
| --- |
| Home page | 5.97 | 680 ms | 810 ms | 839 ms | 0% |
| Post page | 14.9 | 562 ms | 700 ms | 762 ms | 0% |
| Tag page | 2.99 | 366 ms | 473 ms | 496 ms | 0% |
| Author page | 2.99 | 367 ms | 457 ms | 507 ms | 0% |
| RSS feed | 2.98 | 385 ms | 475 ms | 548 ms | 0% |

#### Staff in Ghost Admin

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Post list | 2.35 | 55.9 ms | 73.7 ms | 79.9 ms | 0% |
| Post editor | 7.07 | 24.6 ms | 34.1 ms | 41.6 ms | 0% |
| Saving a draft | 7.07 | 67.3 ms | 85.4 ms | 106 ms | 0% |
| Member list | 2.35 | 67.1 ms | 88.2 ms | 93.5 ms | 0% |
| 4 virtual users |
| --- |
| Post list | 3.18 | 72 ms | 100 ms | 114 ms | 0% |
| Post editor | 9.57 | 36.7 ms | 53.9 ms | 80 ms | 0% |
| Saving a draft | 9.59 | 312 ms | 420 ms | 552 ms | 0% |
| Member list | 3.18 | 79 ms | 107 ms | 132 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 296 MB and MySQL at 626 MB.

### Wagtail

#### Visitors

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Home page | 0.773 | 168 ms | 205 ms | 220 ms | 0% |
| Blog index | 0.773 | 600 ms | 763 ms | 774 ms | 0% |
| Blog post | 2.29 | 50.7 ms | 79.6 ms | 102 ms | 0% |
| Bread page | 2.3 | 55 ms | 76.4 ms | 80 ms | 0% |
| Location page | 0.773 | 55 ms | 74.2 ms | 78.6 ms | 0% |
| Site search | 0.757 | 93.7 ms | 163 ms | 204 ms | 0% |
| 4 virtual users |
| --- |
| Home page | 1.64 | 334 ms | 480 ms | 568 ms | 0% |
| Blog index | 1.68 | 1.2 s | 1.58 s | 1.69 s | 0% |
| Blog post | 4.91 | 96 ms | 161 ms | 264 ms | 0% |
| Bread page | 4.94 | 107 ms | 153 ms | 172 ms | 0% |
| Location page | 1.68 | 104 ms | 145 ms | 153 ms | 0% |
| Site search | 1.63 | 146 ms | 286 ms | 362 ms | 0% |
| 16 virtual users |
| --- |
| Home page | 1.62 | 1.11 s | 1.54 s | 1.64 s | 0% |
| Blog index | 1.7 | 2.82 s | 3.48 s | 3.77 s | 0% |
| Blog post | 4.97 | 601 ms | 979 ms | 1.17 s | 0% |
| Bread page | 4.98 | 656 ms | 1.02 s | 1.16 s | 0% |
| Location page | 1.69 | 681 ms | 900 ms | 969 ms | 0% |
| Site search | 1.66 | 771 ms | 1.15 s | 1.45 s | 0% |

#### Editors in the Wagtail admin

Failed: k6 setup failed at 1 virtual users, wagtail isn't serving the seeded site: time="2026-10-14T16:19:03Z" level=warning msg="Request Failed" error="Get \"http://wagtail:8000/\": lookup wagtail on 127.0.0.11:53: server misbehaving" time="2026-10-14T16:19:03Z" level=error msg="Error: the home page returned status 0\n\tat setup (file:///work/wagtail.js:170:11(31))\n" hint="script exception" source=stacktrace

k6 with a fixed number of virtual users, 61 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 319 MB, Postgres at 208 MB, and Redis at 9 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 | | 8.9 GiB |
| Architecture | arm64 | arm64 |
| Virtualization | KVM | VM-OTHER |

Guests usually report slightly less RAM and disk than advertised because of kernel reservations and filesystem overhead.

## Detected hardware

**CPU model:** Neoverse-N1

**CPU cores:** 2

**CPU frequency:** Unknown

**AES-NI:** Yes

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

**RAM reported:** 3.8 GiB

**Swap reported:** 0 MiB

**Disk reported:** 8.9 GiB

**Virtualization reported:** VM-OTHER

**CPU steal:** 0.1% of busy CPU time stolen

**Distro:** Ubuntu 24.04.5 LTS

**Kernel:** 6.8.0-142-generic

**Architecture:** arm64

**IPv4 reachable:** Yes

**IPv6 reachable:** No

## Advertised at test time

**Plan:** BASIC2-A2C-4G

**Product line:** General Purpose

**Location:** Paris 1

**vCPU:** 2 shared vCPU

**Architecture:** arm64

**RAM:** 4 GB

**Storage:**

**Virtualization:** KVM

**Network:** 200 Mbps

**Transfer:** Unmetered

**Port 25:** Unknown

**Monthly price at test time:** €16.79 EUR

**Hourly price at test time:** €0.023 EUR

**YABS version:** v2026-09-20

**Ran at:** Oct 14, 2026, 14:45:41 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 14, 2026, 14:44:00 UTC

**First update from the server:** Oct 14, 2026, 14:44:54 UTC

**Completed:** Oct 14, 2026, 16:20:00 UTC

**Server deleted:** Oct 14, 2026, 16:20:00 UTC

**Cost of this run:** €0.037 EUR

Tests 35 of 36 done Live output 744 lines

Setup 2 cores, 3.8 GiB RAM 4 of 4Done

Disk (fio) 21.1 MB/s at 4k, 163 MB/s at 1m 5 of 5Done

Geekbench 7, single-core Score 930 1 of 1Done

Geekbench 7, multi-core Score 1,747 1 of 1Done

Phoronix (memory, TLS, scheduler) 3 of 3Done

Datastores 5 of 5Done

Web frameworks 10 of 10Done

Web apps 1 failed, 2 skipped 5 of 6Some failed

TestResultTime

WooCommerce page mix 32 vus 6.94 req/s rps, 32 vus 3m 07s

WooCommerce cart flow 32 vus 7.62 req/s rps, 32 vus 2m 11s

Discourse, signed in Discourse Not run not enough disk, needs 7432 MB and 4434 MB is free

Discourse, anonymous Discourse Not run not enough disk, needs 7500 MB and 4434 MB is free

Ghost, readers 16 vus 29.9 req/s rps, 16 vus 5m 12s

Ghost, staff in Ghost Admin 4 vus 25.5 req/s rps, 4 vus 2m 04s

Wagtail, visitors 16 vus 16.6 req/s rps, 16 vus 4m 12s

Wagtail, editors in the Wagtail admin 1 vus Stopped k6 setup failed at 1 virtual users, wagtail isn't serving the seeded site: time="2026-10-14T16:19:03Z" level=warning msg="Request Failed" error="Get \"http://wagtail:8000/\": lookup wagtail on 127.0.0.11:53: server misbehaving" time="2026-10-14T16:19:03Z" level=error msg="Error: the home page returned status 0\n\tat setup (file:///work/wagtail.js:170:11(31))\n" hint="script exception" source=stacktrace 6s

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 17:20 UTC. It's read only now.

## Watch party

Loading the party
