# Gcore CPU-Optimized A1 2 vCPU / 2 GB

Manassas

Benchmark complete

Finished Oct 14, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

894

fio random read and write, 50/50

Monthly price at test time

€23.48 EUR

Same price today

## Server

[Gcore](https://rackcensus.com/vps-providers/gcore-benchmarks)[CPU-Optimized A1 2 vCPU / 2 GB](https://rackcensus.com/plans/yneyz8-gcore-cpu-optimized-a1-2-vcpu-2-gb-benchmarks?location=14)

-

Provider

Gcore

-

Plan

CPU-Optimized A1 2 vCPU / 2 GB

-

Location

Manassas

-

vCPU

2

-

RAM

2 GB

-

Storage

-

Network

1 Gbps

-

OS image

ubuntu-24.04

-

Trigger

Scheduled

-

Queued at

Oct 14, 2026, 13:19:00 UTC

[Visit Gcore](https://rackcensus.com/go/gcore)

## CPU

Geekbench was skipped because this plan doesn't have enough RAM for Geekbench 7's multi-core run, and the arm64 build can't run single-core only.

## Memory, TLS and scheduler

### Memory bandwidth (STREAM)

| Test | Result | Runs | Spread |
| --- | --- | --- | --- |
| Copy higher is better | 48.1 GB/s | 3 | 0.979% |
| Scale higher is better | 47.3 GB/s | 3 | 0.267% |
| Add higher is better | 43.6 GB/s | 3 | 0.709% |
| Triad higher is better | 43.3 GB/s | 3 | 2.25% |

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 | 97.4/s | 3 | 0.258% |
| RSA 4096 verifies higher is better | 7,932/s | 3 | 0.119% |
| SHA-256 higher is better | 1.45 GB/s | 3 | 0.249% |
| AES-256-GCM higher is better | 4.69 GB/s | 3 | 0.0384% |
| ChaCha20-Poly1305 higher is better | 1.72 GB/s | 3 | 0.0896% |

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% |
| Requests per second, 90th percentile higher is better | 132/s | 3 | 0% |
| Request latency, 99.9th percentile lower is better | 22.3 ms | 3 | 1.03% |
| Requests per second, average higher is better | 132/s | 3 | 0.149% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 1.7 MB/s (444 IOPS) | 1.8 MB/s (450 IOPS) | 3.5 MB/s (894 IOPS) |
| 64K | 37.1 MB/s (594 IOPS) | 38.2 MB/s (611 IOPS) | 75.4 MB/s (1,205 IOPS) |
| 512K | 48.3 MB/s (96 IOPS) | 52.5 MB/s (104 IOPS) | 100.8 MB/s (200 IOPS) |
| 1M | 47.7 MB/s (47 IOPS) | 53.3 MB/s (53 IOPS) | 101 MB/s (100 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 | 1.41 Gbps | 1.38 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 1.39 Gbps | 1.36 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 737 Mbps | 997 Mbps |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 1.43 Gbps | 1.41 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.51 Gbps | 1.45 Gbps |

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 | 374 | 2.67 ms |
| fdatasync | 381 | 2.63 ms |
| fsync | 122 | 8.23 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 108 | 9.28 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 184 | 5.44 ms |
| fdatasync | 379 | 2.64 ms |
| fsync | 98 | 10.2 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 56.1 | 17.8 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 114 | 8.77 ms |
| 2 \* 8kB open\_sync writes | 55.5 | 18 ms |
| 4 \* 4kB open\_sync writes | 26.5 | 37.8 ms |
| 8 \* 2kB open\_sync writes | 14.2 | 70.2 ms |
| 16 \* 1kB open\_sync writes | 8.23 | 122 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 125 | 7.99 ms |
| write, close, fsync | 123 | 8.12 ms |
| Non-synced 8 kB writes |
| --- |
| write | 985,802 | 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 | 256 | 3.37 ms | 6.27 ms | 10 ms | 48.7 ms | 0 |
| Read/write (TPC-B like) | 8 | 801 | 7.35 ms | 24.4 ms | 49.6 ms | 94.3 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,004 | 19.6 ms | 93.5 ms | 193 ms | 345 ms | 0 |
| Read only | 1 | 20,722 | 0.043 ms | 0.072 ms | 0.102 ms | 0.204 ms | 0 |
| Read only | 8 | 29,927 | 0.246 ms | 0.409 ms | 0.502 ms | 1.15 ms | 0 |
| Read only | 32 | 32,265 | 0.894 ms | 1.36 ms | 1.85 ms | 3.32 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 4.18 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 | 174 | 4.63 ms | 10.4 ms | 18.6 ms | 31.1 ms | 0 |
| Read/write (TPC-B like) | 8 | 471 | 7.78 ms | 78.8 ms | 177 ms | 312 ms | 0 |
| Read/write (TPC-B like) | 32 | 355 | 53.5 ms | 233 ms | 787 ms | 1.76 s | 0 |
| Read only | 1 | 560 | 1.04 ms | 3.69 ms | 7.12 ms | 180 ms | 0 |
| Read only | 8 | 1,055 | 6.8 ms | 20.2 ms | 33 ms | 93.5 ms | 0 |
| Read only | 32 | 972 | 30.5 ms | 76.2 ms | 375 ms | 734 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 80.6 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 | 4.62 | 92.5 | 107 ms | 646 ms | 802 ms | 0 |
| Read/write | 8 | 7.58 | 152 | 910 ms | 2.83 s | 3.98 s | 0 |
| Read/write | 32 | 13.5 | 270 | 2.16 s | 4.52 s | 5.31 s | 0 |
| Read only | 1 | 466 | 7,450 | 1.47 ms | 3.43 ms | 14.5 ms | 0 |
| Read only | 8 | 1,095 | 17,525 | 7.17 ms | 10.1 ms | 11.7 ms | 0 |
| Read only | 32 | 1,035 | 16,555 | 30.8 ms | 39.7 ms | 45 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 59,371 | 53,973 | 0.839 ms | 2.96 ms | 4.67 ms |
| 1:1 set:get | 59,962 | 29,981 | 0.791 ms | 2.98 ms | 4.67 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 | 443 | 1,517 | 2,214 | 1.15 s |
| Express express-postgresjs | 5,873 | 7,818 | 17,877 | 84.1 ms |
| Fastify fastify-postgres | 5,674 | 8,212 | 20,255 | 188 ms |
| NestJS nestjs | 3,227 | 3,449 | 11,013 | 139 ms |
| Nuxt nuxt | 5,165 | 7,139 | 16,132 | 440 ms |
| FastAPI fastapi | 2,690 | 3,092 | 18,463 | 389 ms |
| Django django-postgresql | 959 | 1,074 | 2,184 | 482 ms |
| Rails rails | 1,072 | 1,466 | 7,108 | 338 ms |
| Laravel laravel | 568 | 620 | 1,158 | 512 ms |
| Symfony symfony | 731 | 752 | 2,192 | 393 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.73 | 925 ms | 1.03 s | 1.07 s | 0% |
| Shop page | 1.73 | 1.26 s | 1.38 s | 1.42 s | 0% |
| Category page | 1.73 | 767 ms | 1.23 s | 1.29 s | 0% |
| Product page | 1.73 | 843 ms | 980 ms | 1.01 s | 0% |
| Product search | 1.73 | 746 ms | 868 ms | 875 ms | 0% |
| 32 virtual users |
| --- |
| Home page | 1.81 | 3.31 s | 3.67 s | 3.81 s | 0% |
| Shop page | 1.81 | 4.38 s | 4.9 s | 5.04 s | 0% |
| Category page | 1.81 | 3.95 s | 4.62 s | 4.82 s | 0% |
| Product page | 1.74 | 3.43 s | 3.72 s | 3.79 s | 0% |
| Product search | 1.37 | 3.06 s | 3.33 s | 3.42 s | 0% |

#### Cart and checkout

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Add to cart | 3.31 | 968 ms | 1.09 s | 1.14 s | 0% |
| Cart | 3.31 | 787 ms | 878 ms | 944 ms | 0% |
| Checkout | 3.31 | 596 ms | 666 ms | 679 ms | 0% |
| 32 virtual users |
| --- |
| Add to cart | 3.34 | 3.29 s | 4 s | 4.21 s | 0% |
| Cart | 3.34 | 3.44 s | 3.84 s | 3.99 s | 0% |
| Checkout | 3.34 | 2.65 s | 3.06 s | 3.14 s | 0% |

k6 with a fixed number of virtual users, 63 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.47 | 310 ms | 343 ms | 373 ms | 0% |
| Topic JSON | 0.743 | 155 ms | 174 ms | 233 ms | 0% |
| Home page | 0.743 | 274 ms | 535 ms | 671 ms | 0% |
| Categories page | 0.363 | 319 ms | 347 ms | 365 ms | 0% |
| User activity page | 0.363 | 197 ms | 218 ms | 235 ms | 0% |
| 4 virtual users |
| --- |
| Topic page | 3.31 | 540 ms | 751 ms | 1.3 s | 0% |
| Topic JSON | 1.65 | 274 ms | 354 ms | 401 ms | 0% |
| Home page | 1.63 | 472 ms | 583 ms | 1 s | 0% |
| Categories page | 0.84 | 557 ms | 693 ms | 1.22 s | 0% |
| User activity page | 0.823 | 345 ms | 465 ms | 757 ms | 0% |
| 16 virtual users |
| --- |
| Topic page | 3.16 | 1.62 s | 2.03 s | 2.28 s | 0% |
| Topic JSON | 1.6 | 1.43 s | 1.97 s | 2.17 s | 0% |
| Home page | 1.6 | 1.6 s | 2.16 s | 2.51 s | 0% |
| Categories page | 0.786 | 1.68 s | 2.17 s | 2.61 s | 0% |
| User activity page | 0.786 | 1.41 s | 1.98 s | 2.11 s | 0% |

#### Anonymous

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 16 virtual users |
| --- |
| Topic page | 56.1 | 81.5 ms | 188 ms | 324 ms | 0% |
| Topic JSON | 28.1 | 78.8 ms | 187 ms | 303 ms | 0% |
| Home page | 28.1 | 79.1 ms | 181 ms | 313 ms | 0% |
| Categories page | 14 | 87.3 ms | 191 ms | 299 ms | 0% |
| User activity page | 14.1 | 239 ms | 462 ms | 700 ms | 0% |

k6 with a fixed number of virtual users, 60 to 62 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 256 MB of Postgres shared buffers, what its installer picks for a 2 GB box. It added a 2 GB swapfile first, the way its installer does, and used up to 332 MB of it. The container peaked at 1,469 MB.

### Ghost

#### Readers

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Home page | 6.05 | 47 ms | 54.4 ms | 74.2 ms | 0% |
| Post page | 15.1 | 24.7 ms | 30.2 ms | 40.7 ms | 0% |
| Tag page | 3.03 | 32.1 ms | 37.7 ms | 52.6 ms | 0% |
| Author page | 3.01 | 31.9 ms | 35.5 ms | 39.2 ms | 0% |
| RSS feed | 3.01 | 40.3 ms | 45.7 ms | 46.9 ms | 0% |
| 4 virtual users |
| --- |
| Home page | 7.55 | 139 ms | 185 ms | 228 ms | 0% |
| Post page | 18.9 | 95.2 ms | 142 ms | 176 ms | 0% |
| Tag page | 3.77 | 87.2 ms | 126 ms | 138 ms | 0% |
| Author page | 3.77 | 90.1 ms | 135 ms | 179 ms | 0% |
| RSS feed | 3.77 | 96.8 ms | 137 ms | 151 ms | 0% |
| 16 virtual users |
| --- |
| Home page | 7.63 | 526 ms | 631 ms | 666 ms | 0% |
| Post page | 19 | 445 ms | 549 ms | 578 ms | 0% |
| Tag page | 3.8 | 290 ms | 360 ms | 406 ms | 0% |
| Author page | 3.78 | 284 ms | 353 ms | 395 ms | 0% |
| RSS feed | 3.78 | 297 ms | 381 ms | 402 ms | 0% |

#### Staff in Ghost Admin

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Post list | 1.37 | 50.2 ms | 60.9 ms | 68.3 ms | 0% |
| Post editor | 4.14 | 19.2 ms | 24.6 ms | 39.1 ms | 0% |
| Saving a draft | 4.14 | 134 ms | 419 ms | 700 ms | 0% |
| Member list | 1.37 | 63 ms | 79.3 ms | 127 ms | 0% |
| 4 virtual users |
| --- |
| Post list | 1.87 | 56.5 ms | 70.6 ms | 120 ms | 0% |
| Post editor | 5.7 | 22.6 ms | 31.8 ms | 53.9 ms | 0% |
| Saving a draft | 5.73 | 545 ms | 1.03 s | 2.16 s | 0% |
| Member list | 1.9 | 67.1 ms | 76.9 ms | 105 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 353 MB and MySQL at 556 MB.

### Wagtail

#### Visitors

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Home page | 1.18 | 108 ms | 119 ms | 122 ms | 0% |
| Blog index | 1.16 | 394 ms | 418 ms | 426 ms | 0% |
| Blog post | 3.49 | 36.8 ms | 55.1 ms | 62.8 ms | 0% |
| Bread page | 3.49 | 40.4 ms | 46.1 ms | 48.1 ms | 0% |
| Location page | 1.16 | 38.3 ms | 45.2 ms | 48.9 ms | 0% |
| Site search | 1.16 | 72.3 ms | 114 ms | 162 ms | 0% |
| 4 virtual users |
| --- |
| Home page | 1.9 | 273 ms | 417 ms | 471 ms | 0% |
| Blog index | 1.95 | 1.03 s | 1.44 s | 1.51 s | 0% |
| Blog post | 5.73 | 80.3 ms | 144 ms | 196 ms | 0% |
| Bread page | 5.76 | 93 ms | 139 ms | 162 ms | 0% |
| Location page | 1.95 | 82.1 ms | 119 ms | 146 ms | 0% |
| Site search | 1.9 | 128 ms | 242 ms | 266 ms | 0% |
| 16 virtual users |
| --- |
| Home page | 1.86 | 962 ms | 1.32 s | 1.62 s | 0% |
| Blog index | 1.95 | 2.54 s | 3.06 s | 3.43 s | 0% |
| Blog post | 5.6 | 555 ms | 864 ms | 1.13 s | 0% |
| Bread page | 5.62 | 557 ms | 928 ms | 1.24 s | 0% |
| Location page | 1.91 | 560 ms | 854 ms | 982 ms | 0% |
| Site search | 1.86 | 651 ms | 984 ms | 1.32 s | 0% |

#### Editors in the Wagtail admin

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Admin dashboard | 0.594 | 110 ms | 127 ms | 132 ms | 0% |
| Page explorer | 1.22 | 367 ms | 457 ms | 572 ms | 0% |
| Page editor | 1.8 | 188 ms | 293 ms | 371 ms | 0% |
| Image library | 0.594 | 73.8 ms | 85.1 ms | 704 ms | 0% |
| Admin page search | 0.594 | 42.5 ms | 97.7 ms | 183 ms | 0% |
| 4 virtual users |
| --- |
| Admin dashboard | 0.958 | 244 ms | 464 ms | 697 ms | 0% |
| Page explorer | 1.95 | 881 ms | 1.64 s | 2.18 s | 0% |
| Page editor | 2.89 | 439 ms | 872 ms | 973 ms | 0% |
| Image library | 0.958 | 234 ms | 482 ms | 616 ms | 0% |
| Admin page search | 0.958 | 109 ms | 243 ms | 376 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. 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 295 MB, Postgres at 177 MB, and Redis at 26 MB.

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 2 | 2 |
| CPU | Shared vCPU | 5.6% of busy CPU time stolen |
| RAM | 2 GB | 1.9 GiB |
| Storage | | 19.3 GiB |
| Architecture | arm64 | arm64 |
| Virtualization | KVM | KVM |

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:** 1.9 GiB

**Swap reported:** 0 MiB

**Disk reported:** 19.3 GiB

**Virtualization reported:** KVM

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

**Distro:** Ubuntu 24.04.3 LTS

**Kernel:** 6.8.0-90-generic

**Architecture:** arm64

**IPv4 reachable:** Yes

**IPv6 reachable:** Yes

## Advertised at test time

**Plan:** CPU-Optimized A1 2 vCPU / 2 GB

**Product line:** CPU-Optimized A1

**Location:** Manassas

**vCPU:** 2 shared vCPU

**Architecture:** arm64

**RAM:** 2 GB

**Storage:**

**Virtualization:** KVM

**Network:** 1 Gbps

**Transfer:** Unmetered

**Port 25:** Unknown

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

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

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

**Ran at:** Oct 14, 2026, 13:19:57 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 14, 2026, 13:19:00 UTC

**Server created:** Oct 14, 2026, 13:19:51 UTC

**First update from the server:** Oct 14, 2026, 13:19:51 UTC

**Completed:** Oct 14, 2026, 15:15:00 UTC

**Server deleted:** Oct 14, 2026, 15:15:00 UTC

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

Tests 41 of 41 done Live output 727 lines

Setup 2 cores, 1.9 GiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 1.41 Gbit/s send, 1.38 Gbit/s receive 5 of 5Done

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

Datastores 5 of 5Done

Web frameworks 10 of 10Done

Web apps 8 of 8Done

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 16:15 UTC. It's read only now.

## Watch party

Loading the party
