# DigitalOcean v5 General Purpose 2 vCPU / 4 GB

Richmond 1

Benchmark complete

Finished Oct 25, 2026

Geekbench 7 single-core

2,453

Faster than 97% of 2 vCPU plans

Geekbench 7 multi-core

3,217

Faster than 75% of 2 vCPU plans

Disk 4K IOPS

4,512

fio random read and write, 50/50

Monthly price at test time

$56.75

57 multi-core points per dollar

Same price today

## Server

[DigitalOcean](https://rackcensus.com/vps-providers/digitalocean-benchmarks)[v5 General Purpose 2 vCPU / 4 GB](https://rackcensus.com/plans/zax0xd-digitalocean-v5-general-purpose-2-vcpu-4-gb-benchmarks?location=ric1)

-

Provider

DigitalOcean

-

Plan

v5 General Purpose 2 vCPU / 4 GB

-

Location

Richmond 1

-

vCPU

2

-

RAM

4 GB

-

Storage

30 GB SSD

-

Network

4 Gbps

-

OS image

ubuntu-24-04-x64

-

Trigger

Scheduled

-

Queued at

Oct 23, 2026, 02:46:00 UTC

[Visit DigitalOcean](https://rackcensus.com/go/digitalocean)

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

## CPU

| Version | Single-core | Multi-core | Result link |
| --- | --- | --- | --- |
| Geekbench 7 | 2,453 | 3,217 | [Geekbench Browser](https://browser.geekbench.com/v7/cpu/719647) |

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,2444th of 100 | 3,19916th of 56 |
| Navigation | 2,1284th of 100 | Single-core only |
| HTML5 Browser | 2,4473rd of 100 | Single-core only |
| PDF Viewer | 2,6312nd of 100 | Single-core only |
| Photo Library | 2,4863rd of 100 | 3,36520th of 56 |
| Clang | 2,1384th of 100 | 3,10226th of 56 |
| Text Processing | 2,4162nd of 100 | 2,82325th of 56 |
| Asset Compression | 2,3455th of 100 | 3,15527th of 56 |
| HDR | 2,4282nd of 100 | 2,79323rd of 56 |
| Photo Editor | 3,3632nd of 100 | 4,22315th of 56 |
| Ray Tracer | 2,1205th of 100 | 3,26727th of 56 |
| Structure from Motion | 2,7722nd of 100 | Single-core only |
| Game Physics | 2,2614th of 100 | Single-core only |
| Video Encoder | 2,4581st of 100 | Single-core only |
| Audio Encoder | 2,2625th of 100 | Single-core only |
| Video Player | 3,0862nd of 100 | Single-core only |

Rank among the 100 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 | 8.8 MB/s (2,251 IOPS) | 8.8 MB/s (2,261 IOPS) | 17.6 MB/s (4,512 IOPS) |
| 64K | 35.8 MB/s (572 IOPS) | 36 MB/s (576 IOPS) | 71.8 MB/s (1,148 IOPS) |
| 512K | 34.2 MB/s (68 IOPS) | 36.3 MB/s (72 IOPS) | 70.6 MB/s (140 IOPS) |
| 1M | 22.9 MB/s (22 IOPS) | 25.2 MB/s (25 IOPS) | 48.1 MB/s (47 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 | 3.84 Gbps | 7.79 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 869 Mbps | 2.6 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 674 Mbps | 832 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 | 5.49 / 6.46 | 0 / 0 | Met workload limits |
| 1 | 500 | 499.12 | 4.22 / 5.18 | 0 / 159 | Met workload limits |
| 1 | 1000 | 997.49 | 4.27 / 5.3 | 0 / 450 | Met workload limits |
| 1 | 3000 | 2993.03 | 4.59 / 54.15 | 0 / 1250 | Met workload limits |
| 2 | 100 | 100 | 5.43 / 6.39 | 0 / 0 | Met workload limits |
| 2 | 500 | 499.84 | 4.27 / 5.24 | 0 / 28 | Met workload limits |
| 2 | 1000 | 997.61 | 4.32 / 5.36 | 0 / 430 | Met workload limits |
| 2 | 3000 | 2993.17 | 4.54 / 52.52 | 0 / 1226 | 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
Failed

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

URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\>

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 \_ssl.c:983: The handshake operation timed out\>

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

### Discourse community
Failed

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

URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\>

p95 ≤ 1500 ms · p99 ≤ 3000 ms · errors ≤ 1.0%

### n8n workflows
Failed

Webhook, transformation, branching and a verified final response.

URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\>

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

### n8n queue workers
Failed

Completed queued workflows including waiting time and worker execution.

URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\>

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

### Ghost publishing
Failed

Readers, authenticated draft creation, publishing and image uploads.

URLError: \<urlopen error timed out\>

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

### Formbricks / Next.js
Failed

Public survey rendering, persisted responses and authenticated analysis.

URLError: \<urlopen error timed out\>

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

### Elasticsearch search and ingestion
Failed

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

URLError: \<urlopen error timed out\>

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, 3914 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 | Dedicated vCPU | 0% of busy CPU time stolen |
| RAM | 4 GB | 3.8 GiB |
| Storage | 30 GB SSD | 29 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 9555P 64-Core Processor

**CPU cores:** 2

**CPU frequency:** 3195 MHz

**AES-NI:** Yes

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

**RAM reported:** 3.8 GiB

**Swap reported:** 0 MiB

**Disk reported:** 29 GiB

**Virtualization reported:** KVM

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

**Distro:** Ubuntu 24.04.5 LTS

**Kernel:** 6.8.0-142-generic

**Architecture:** x86\_64

**IPv4 reachable:** Yes

**IPv6 reachable:** Yes

## Advertised at test time

**Plan:** v5 General Purpose 2 vCPU / 4 GB

**Product line:** v5 General Purpose

**Location:** Richmond 1

**vCPU:** 2 dedicated vCPU

**Architecture:** x86\_64

**RAM:** 4 GB

**Storage:** 30 GB SSD

**Virtualization:** KVM

**Network:** 4 Gbps

**Transfer:** 4 TB

**Port 25:** Closed

**Monthly price at test time:** $56.75

**Hourly price at test time:** $0.076

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

**Ran at:** Oct 25, 2026, 15:58:31 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 23, 2026, 02:46:00 UTC

**First update from the server:** Oct 25, 2026, 15:58:29 UTC

**Completed:** Oct 25, 2026, 17:32:00 UTC

**Server deleted:** Oct 25, 2026, 17:32:00 UTC

**Cost of this run:** $0.12

Tests 40 of 50 done Live output 456 lines

Setup 2 cores, 3.8 GiB RAM 4 of 4Done

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

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

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

Geekbench 7, multi-core Score 3,217 9 of 9Done

Web apps 10 failed, 1 skipped 1 of 11Some failed

TestResultTime

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

PostgreSQL large dataset RuntimeError: RuntimeError: TimeoutError: Stopped RuntimeError: RuntimeError: TimeoutError: 10m 51s

Redis cache URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> Stopped URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> 25m 11s

Redis persistent queue URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> Stopped URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> 30s

Discourse community URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> Stopped URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> 2m 47s

n8n workflows URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> Stopped URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> 1m 13s

n8n queue workers URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> Stopped URLError: \<urlopen error \_ssl.c:983: The handshake operation timed out\> 45s

Ghost publishing URLError: \<urlopen error timed out\> Stopped URLError: \<urlopen error timed out\> 1m 37s

Formbricks / Next.js URLError: \<urlopen error timed out\> Stopped URLError: \<urlopen error timed out\> 3m 34s

Elasticsearch search and ingestion URLError: \<urlopen error timed out\> Stopped URLError: \<urlopen error timed out\> 1m 40s

GitHub self-hosted runner Requires 8192 MiB RAM; plan has 4096 MiB, 3914 MiB detected. Not run Requires 8192 MiB RAM; plan has 4096 MiB, 3914 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' 1m 20s

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 18:32 UTC. It's read only now.

## Watch party

Loading the party
