# UpCloud Premium 2 vCPU / 4 GB

[San Jose #1](https://rackcensus.com/locations/san-jose-vps-benchmarks "Every provider in San Jose")

Benchmark complete

Finished Oct 19, 2026

Geekbench 7 single-core

2,580

Faster than 100% of 2 vCPU plans

Geekbench 7 multi-core

5,205

Disk 4K IOPS

16,007

fio random read and write, 50/50

Monthly price at test time

€26.00 EUR

171 multi-core points per dollar

Same price today

## Server

[UpCloud](https://rackcensus.com/vps-providers/upcloud-benchmarks)[Premium 2 vCPU / 4 GB](https://rackcensus.com/plans/279vjw-upcloud-premium-2-vcpu-4-gb-benchmarks?location=us-sjo1)

-

Provider

UpCloud

-

Plan

Premium 2 vCPU / 4 GB

-

Location

San Jose #1

-

vCPU

2

-

RAM

4 GB

-

Storage

50 GB NVMe

-

Network

Unknown

-

OS image

01000000-0000-4000-8000-000030240200

-

Trigger

Scheduled

-

Queued at

Oct 18, 2026, 19:54: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 19, 2026](https://rackcensus.com/benchmarks/rv66m9-upcloud-premium-2-vcpu-4-gb-us-nyc1-benchmark)2,229

[Full history of this plan](https://rackcensus.com/plans/279vjw-upcloud-premium-2-vcpu-4-gb-benchmarks/history)

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 2,580 | 5,205 | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/670698) |

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 | 2,5362nd of 25 | 4,5573rd of 15 |
| Navigation | 2,2822nd of 25 | Single-core only |
| HTML5 Browser | 2,6571st of 25 | Single-core only |
| PDF Viewer | 2,8541st of 25 | Single-core only |
| Photo Library | 2,7791st of 25 | 5,4124th of 15 |
| Clang | 2,3862nd of 25 | 4,6454th of 15 |
| Text Processing | 2,6481st of 25 | 4,8784th of 15 |
| Asset Compression | 2,6451st of 25 | 5,2624th of 15 |
| HDR | 2,7011st of 25 | 5,0562nd of 15 |
| Photo Editor | 3,9171st of 25 | 7,4342nd of 15 |
| Ray Tracer | 2,4092nd of 25 | 4,8755th of 15 |
| Structure from Motion | 3,1031st of 25 | Single-core only |
| Game Physics | 2,5761st of 25 | Single-core only |
| Video Encoder | 1,09113th of 25 | Single-core only |
| Audio Encoder | 2,5301st of 25 | Single-core only |
| Video Player | 3,3631st of 25 | Single-core only |

Rank among the 25 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 | 31.2 MB/s (7,998 IOPS) | 31.3 MB/s (8,009 IOPS) | 62.5 MB/s (16,007 IOPS) |
| 64K | 398.9 MB/s (6,381 IOPS) | 401 MB/s (6,415 IOPS) | 799.8 MB/s (12,796 IOPS) |
| 512K | 382.2 MB/s (764 IOPS) | 402.5 MB/s (804 IOPS) | 784.7 MB/s (1,568 IOPS) |
| 1M | 379.6 MB/s (379 IOPS) | 404.9 MB/s (404 IOPS) | 784.5 MB/s (783 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, Los Angeles, CA, US (10G) | IPv4 | 1.06 Gbps | 1.07 Gbps |
| Clouvider, London, UK (10G) | IPv4 | 959 Mbps | 986 Mbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 792 Mbps | 849 Mbps |

Public iperf3 servers vary in capacity and availability. Compare a target only with itself over time.

## Application workloads

### PostgreSQL transactions
Failed

Durable transfers and indexed account lookups against a fixed relational dataset.

HTTPError: HTTP Error 404: Not Found

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 | 1.52 / 1.6 | 0 / 0 | Met workload limits |
| 1 | 5000 | 4967.98 | 1.42 / 37.54 | 0 / 5759 | latency limit exceeded |
| 1 | 10000 | 9993.38 | 1.4 / 1.57 | 0 / 1181 | Met workload limits |
| 1 | 25000 | 24995.27 | 0.4 / 0.5 | 0 / 845 | Met workload limits |
| 2 | 1000 | 997.2 | 1.9 / 64.96 | 0 / 504 | latency limit exceeded |
| 2 | 5000 | 4999.98 | 1.4 / 1.5 | 0 / 0 | Met workload limits |
| 2 | 10000 | 9998.87 | 1.38 / 1.57 | 0 / 193 | Met workload limits |
| 2 | 25000 | 24993.46 | 0.4 / 0.58 | 0 / 1171 | Met workload limits |

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 | 67.64 / 225.54 | 0 / 0 | latency limit exceeded |
| 1 | 500 | 498.68 | 2.14 / 7.33 | 0 / 237 | Met workload limits |
| 1 | 1000 | 979.23 | 2.14 / 511.27 | 0 / 3737 | latency limit exceeded |
| 1 | 3000 | 2913.72 | 1.9 / 2.2 | 0 / 15529 | error limit exceeded |
| 2 | 100 | 100 | 3.82 / 108.57 | 0 / 0 | latency limit exceeded |
| 2 | 500 | 496.9 | 2.43 / 548.23 | 0 / 558 | latency limit exceeded |
| 2 | 1000 | 986.12 | 2.14 / 2.68 | 0 / 2497 | error limit exceeded |
| 2 | 3000 | 2994.87 | 1.9 / 2.11 | 0 / 920 | 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 | 128.76 / 2835.47 | 8 / 0 | error limit exceeded |
| 1 | 5 | 4.69 | 83.59 / 131.37 | 56 / 0 | error limit exceeded |
| 1 | 10 | 9.19 | 81.93 / 142.34 | 146 / 0 | error limit exceeded |
| 1 | 25 | 22.69 | 104.29 / 140.92 | 416 / 0 | error limit exceeded |
| 2 | 2 | 1.96 | 109.66 / 151.16 | 8 / 0 | error limit exceeded |
| 2 | 5 | 4.69 | 88.8 / 146.68 | 56 / 0 | error limit exceeded |
| 2 | 10 | 9.19 | 87.03 / 157.34 | 146 / 0 | error limit exceeded |
| 2 | 25 | 22.69 | 106.41 / 146.68 | 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 | 19.59 / 58.12 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 13.25 / 30.9 | 0 / 0 | Met workload limits |
| 1 | 50 | 50 | 17.46 / 56.96 | 0 / 0 | Met workload limits |
| 1 | 100 | 100 | 24.38 / 76.35 | 0 / 0 | Met workload limits |
| 2 | 5 | 5 | 18.99 / 453.62 | 0 / 0 | Met workload limits |
| 2 | 20 | 19.97 | 587.84 / 4138.9 | 6 / 0 | latency limit exceeded |
| 2 | 50 | 50 | 11.4 / 31.87 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 18.59 / 72.59 | 0 / 0 | Met workload limits |

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 | 33.89 / 2277.81 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 18.99 / 40.74 | 0 / 0 | Met workload limits |
| 1 | 50 | 50 | 18.79 / 47.45 | 0 / 0 | Met workload limits |
| 1 | 100 | 100 | 55.82 / 132.7 | 0 / 0 | Met workload limits |
| 2 | 5 | 5 | 28.76 / 1317.35 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 25.15 / 1134.56 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 21.08 / 46.5 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 66.29 / 249.24 | 0 / 0 | Met workload limits |

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 | 221.08 / 237.1 | 0 / 0 | Met workload limits |
| 1 | 20 | 20 | 168.76 / 202.06 | 0 / 0 | Met workload limits |
| 1 | 50 | 49.97 | 269.98 / 472.08 | 0 / 0 | Met workload limits |
| 1 | 100 | 66.1 | 7013.92 / 7013.92 | 1234 / 4556 | latency limit exceeded |
| 2 | 5 | 5 | 216.7 / 237.1 | 0 / 0 | Met workload limits |
| 2 | 20 | 20 | 168.76 / 230.1 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 251.75 / 435.88 | 0 / 0 | Met workload limits |
| 2 | 100 | 65.38 | 7013.92 / 7013.92 | 1254 / 4662 | 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 | 8.48 / 30.27 | 0 / 0 | Met workload limits |
| 1 | 50 | 50 | 6.03 / 8.11 | 0 / 0 | Met workload limits |
| 1 | 100 | 100 | 5.18 / 7 | 0 / 0 | Met workload limits |
| 1 | 250 | 250 | 4.59 / 15.38 | 0 / 0 | Met workload limits |
| 2 | 10 | 10 | 8.57 / 11.77 | 0 / 0 | Met workload limits |
| 2 | 50 | 50 | 6.1 / 7.58 | 0 / 0 | Met workload limits |
| 2 | 100 | 100 | 5.3 / 9.68 | 0 / 0 | Met workload limits |
| 2 | 250 | 250 | 4.59 / 10.68 | 0 / 0 | Met workload limits |

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 4096 MiB, 3867 MiB detected.

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 | 2 | 2 |
| CPU | Shared vCPU | 0% of busy CPU time stolen |
| RAM | 4 GB | 3.8 GiB |
| Storage | 50 GB NVMe | 49.1 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 9575F 64-Core Processor

**CPU cores:** 2

**CPU frequency:** 3295 MHz

**AES-NI:** Yes

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

**RAM reported:** 3.8 GiB

**Swap reported:** 0 MiB

**Disk reported:** 49.1 GiB

**Virtualization reported:** KVM

**CPU steal:** 0% 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:** Premium 2 vCPU / 4 GB

**Product line:** Premium

**Location:** San Jose #1

**vCPU:** 2 shared vCPU

**Architecture:** x86\_64

**RAM:** 4 GB

**Storage:** 50 GB NVMe

**Virtualization:** KVM

**Network:** Unknown

**Transfer:** 3.07 TB

**Port 25:** Unknown

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

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

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

**Ran at:** Oct 19, 2026, 14:40:42 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 18, 2026, 19:54:00 UTC

**Server created:** Oct 19, 2026, 14:40:38 UTC

**First update from the server:** Oct 19, 2026, 14:40:38 UTC

**Completed:** Oct 19, 2026, 18:37:17 UTC

**Server deleted:** Oct 19, 2026, 18:37:17 UTC

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

Tests 46 of 50 done Live output 1226 lines

Setup 2 cores, 3.8 GiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 959 Mbit/s send, 986 Mbit/s receive, 1 retried 3 of 3Done

Geekbench 7, single-core Score 2,580 17 of 17Done

Geekbench 7, multi-core Score 5,205 9 of 9Done

Web apps 4 failed, 1 skipped 7 of 11Some failed

TestResultTime

PostgreSQL transactions HTTPError: HTTP Error 404: Not Found Stopped HTTPError: HTTP Error 404: Not Found 38s

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 1m 55s

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

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

Discourse community 8 measured trials completed 8 trials Measurements, 8 measured trials completed 32m 10s

n8n workflows 8 measured trials completed 8 trials Measurements, 8 measured trials completed 29m 40s

n8n queue workers 8 measured trials completed 8 trials Measurements, 8 measured trials completed 29m 37s

Ghost publishing 8 measured trials completed 8 trials Measurements, 8 measured trials completed 30m 44s

Formbricks / Next.js RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 14m 23s

Elasticsearch search and ingestion 8 measured trials completed 8 trials Measurements, 8 measured trials completed 31m 23s

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

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' 41s

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 19:37 UTC. It's read only now.

## Watch party

Loading the party
