# UpCloud Starter 2 vCPU / 2 GB

[Chicago #1](https://rackcensus.com/locations/chicago-vps-benchmarks "Every provider in Chicago")

Benchmark complete

Finished Oct 24, 2026

Geekbench 7 single-core

1,301

Faster than 70% of 2 vCPU plans

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

11,903

fio random read and write, 50/50

Monthly price at test time

€10.00 EUR

Same price today

## Server

[UpCloud](https://rackcensus.com/vps-providers/upcloud-benchmarks)[Starter 2 vCPU / 2 GB](https://rackcensus.com/plans/zwhit1-upcloud-starter-2-vcpu-2-gb-benchmarks?location=us-chi1)

-

Provider

UpCloud

-

Plan

Starter 2 vCPU / 2 GB

-

Location

Chicago #1

-

vCPU

2

-

RAM

2 GB

-

Storage

30 GB

-

Network

Unknown

-

OS image

01000000-0000-4000-8000-000030240200

-

Trigger

Scheduled

-

Queued at

Oct 22, 2026, 02:09:00 UTC

[Visit UpCloud](https://rackcensus.com/go/upcloud)

Referral link. If you sign up through it, I may get paid. [How this works](https://rackcensus.com/transparency#referrals-heading)

## Latest runs of this plan

- [New York #1 Oct 21, 2026](https://rackcensus.com/benchmarks/xh5aym-upcloud-starter-2-vcpu-2-gb-us-nyc1-benchmark)1,276

[Full history of this plan](https://rackcensus.com/plans/zwhit1-upcloud-starter-2-vcpu-2-gb-benchmarks/history)

## CPU

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

Multi-core was skipped because Geekbench 7 needs about 3.1 GB of free memory to run 2 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 | 1,44415th of 76 | Single-core only |
| Navigation | 1,50211th of 76 | Single-core only |
| HTML5 Browser | 1,18425th of 76 | Single-core only |
| PDF Viewer | 1,37122nd of 76 | Single-core only |
| Photo Library | 1,18122nd of 76 | Single-core only |
| Clang | 1,19620th of 76 | Single-core only |
| Text Processing | 1,10127th of 76 | Single-core only |
| Asset Compression | 1,28119th of 76 | Single-core only |
| HDR | 1,05227th of 76 | Single-core only |
| Photo Editor | 1,43820th of 76 | Single-core only |
| Ray Tracer | 1,38412th of 76 | Single-core only |
| Structure from Motion | 1,43521st of 76 | Single-core only |
| Game Physics | 1,35913th of 76 | Single-core only |
| Video Encoder | 1,23018th of 76 | Single-core only |
| Audio Encoder | 1,34819th of 76 | Single-core only |
| Video Player | 1,41717th 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 | 23.2 MB/s (5,950 IOPS) | 23.3 MB/s (5,953 IOPS) | 46.5 MB/s (11,903 IOPS) |
| 64K | 377.6 MB/s (6,041 IOPS) | 379.6 MB/s (6,072 IOPS) | 757.1 MB/s (12,113 IOPS) |
| 512K | 383.7 MB/s (767 IOPS) | 404.1 MB/s (808 IOPS) | 787.8 MB/s (1,575 IOPS) |
| 1M | 380.8 MB/s (380 IOPS) | 406.1 MB/s (406 IOPS) | 786.9 MB/s (786 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.06 Gbps | 1.04 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 991 Mbps | 1.02 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 859 Mbps | 812 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 | 7.16 / 8.29 | 0 / 0 | Met workload limits |
| 1 | 500 | 497.67 | 5.96 / 12.69 | 0 / 419 | Met workload limits |
| 1 | 1000 | 956.26 | 5.82 / 816.72 | 0 / 7873 | latency limit exceeded |
| 1 | 3000 | 2877.71 | 3.77 / 45.56 | 0 / 21941 | error limit exceeded |
| 2 | 100 | 100 | 7 / 8.38 | 0 / 0 | Met workload limits |
| 2 | 500 | 497.27 | 5.76 / 23.39 | 0 / 492 | Met workload limits |
| 2 | 1000 | 976.42 | 5.62 / 148.16 | 0 / 4244 | latency limit exceeded |
| 2 | 3000 | 2773.08 | 3.77 / 64.31 | 0 / 40844 | 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
Failed

A mixed cache workload with 1 KiB values, expiration, misses and eviction.

URLError: \<urlopen error [Errno 111] Connection refused\>

p95 ≤ 10 ms · p99 ≤ 25 ms · errors ≤ 1.0%

### Redis persistent queue
Failed

Enqueue, consume and acknowledge payloads with append-only persistence.

URLError: \<urlopen error [Errno 111] Connection refused\>

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 | 286.65 / 375.3 | 8 / 0 | error limit exceeded |
| 1 | 5 | 4.69 | 251.75 / 349.99 | 56 / 0 | error limit exceeded |
| 1 | 10 | 9.19 | 208.21 / 316.74 | 146 / 0 | error limit exceeded |
| 1 | 25 | 19.35 | 8062.47 / 8062.47 | 863 / 0 | latency limit exceeded |
| 2 | 2 | 1.96 | 301.32 / 394.5 | 8 / 0 | error limit exceeded |
| 2 | 5 | 4.69 | 251.75 / 357.04 | 56 / 0 | error limit exceeded |
| 2 | 10 | 9.19 | 210.3 / 332.95 | 146 / 0 | error limit exceeded |
| 2 | 25 | 7.62 | 8062.47 / 8062.47 | 3067 / 0 | latency 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 | 42.43 / 56.96 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 31.87 / 51.47 | 0 / 0 | Met workload limits |
| 1 | 50 | 49.33 | 2232.9 / 6807.61 | 25 / 95 | latency limit exceeded |
| 1 | 100 | 84.95 | 3292.05 / 3709.69 | 0 / 2523 | latency limit exceeded |
| 2 | 5 | 5 | 39.11 / 52.52 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 34.95 / 56.96 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 69.02 / 123.7 | 0 / 0 | Met workload limits |
| 2 | 100 | 81.43 | 3460.03 / 3636.58 | 0 / 3175 | 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 | 51.47 / 63.02 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 39.51 / 58.12 | 0 / 0 | Met workload limits |
| 1 | 50 | 50 | 48.92 / 132.7 | 0 / 0 | Met workload limits |
| 1 | 100 | 69.42 | 4017.15 / 4097.91 | 0 / 5300 | latency limit exceeded |
| 2 | 5 | 5 | 53.6 / 69.02 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 37.54 / 54.15 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 56.39 / 151.16 | 0 / 0 | Met workload limits |
| 2 | 100 | 67.48 | 4097.91 / 4307 | 0 / 5652 | 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 | 379.07 / 453.62 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 394.5 / 476.81 | 0 / 0 | Met workload limits |
| 1 | 50 | 43.42 | 7013.92 / 7013.92 | 893 / 30 | latency limit exceeded |
| 1 | 100 | 47.64 | 7013.92 / 7013.92 | 884 / 8313 | latency limit exceeded |
| 2 | 5 | 5 | 379.07 / 462.75 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 390.58 / 472.08 | 0 / 0 | Met workload limits |
| 2 | 50 | 43.6 | 7013.92 / 7013.92 | 893 / 11 | latency limit exceeded |
| 2 | 100 | 46.18 | 7013.92 / 7013.92 | 901 / 8517 | 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, 1855 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, 1855 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, 1855 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, 1855 MiB detected.

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

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 2 | 2 |
| CPU | Shared vCPU | 0.1% of busy CPU time stolen |
| RAM | 2 GB | 1.8 GiB |
| Storage | 30 GB | 29.4 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:** AMD EPYC 7542 32-Core Processor

**CPU cores:** 2

**CPU frequency:** 2895 MHz

**AES-NI:** Yes

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

**RAM reported:** 1.8 GiB

**Swap reported:** 0 MiB

**Disk reported:** 29.4 GiB

**Virtualization reported:** KVM

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

**Distro:** Ubuntu 24.04.4 LTS

**Kernel:** 6.8.0-137-generic

**Architecture:** x86\_64

**IPv4 reachable:** Yes

**IPv6 reachable:** Yes

## Advertised at test time

**Plan:** Starter 2 vCPU / 2 GB

**Product line:** Starter

**Location:** Chicago #1

**vCPU:** 2 shared vCPU

**Architecture:** x86\_64

**RAM:** 2 GB

**Storage:** 30 GB

**Virtualization:** KVM

**Network:** Unknown

**Transfer:** 1.02 TB

**Port 25:** Unknown

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

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

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

**Ran at:** Oct 24, 2026, 05:16:00 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 22, 2026, 02:09:00 UTC

**First update from the server:** Oct 24, 2026, 05:14:33 UTC

**Completed:** Oct 24, 2026, 08:10:33 UTC

**Server deleted:** Oct 24, 2026, 08:10:33 UTC

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

Tests 36 of 39 done Live output 912 lines

Setup 2 cores, 1.8 GiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 991 Mbit/s send, 1.02 Gbit/s receive, 1 retried 3 of 3Done

Geekbench 7, single-core Score 1,301 18 of 18Done

Web apps 3 failed, 4 skipped 5 of 8Some failed

TestResultTime

PostgreSQL transactions 8 measured trials completed 8 trials Measurements, 8 measured trials completed 29m 53s

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 2m 12s

Redis cache URLError: \<urlopen error [Errno 111] Connection refused\> Stopped URLError: \<urlopen error [Errno 111] Connection refused\> 7s

Redis persistent queue URLError: \<urlopen error [Errno 111] Connection refused\> Stopped URLError: \<urlopen error [Errno 111] Connection refused\> 2m 13s

Discourse community 8 measured trials completed 8 trials Measurements, 8 measured trials completed 37m 14s

n8n workflows 8 measured trials completed 8 trials Measurements, 8 measured trials completed 31m 13s

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

Ghost publishing 8 measured trials completed 8 trials Measurements, 8 measured trials completed 32m 51s

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

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

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

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

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 09:10 UTC. It's read only now.

## Watch party

Loading the party
