# DigitalOcean Basic 1 vCPU / 1 GB

[Frankfurt 1](https://www.rackcensus.com/locations/frankfurt-vps-benchmarks "Every provider in Frankfurt")

Benchmark complete

Finished Oct 7, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

48,421

fio random read and write, 50/50

Median here: 48,421 over 3 runs in 90 days

Monthly price at test time

$6.00

Same price today

## Server

[DigitalOcean](https://www.rackcensus.com/vps-providers/digitalocean-benchmarks)[Basic 1 vCPU / 1 GB](https://www.rackcensus.com/plans/z6r6vs-digitalocean-basic-1-vcpu-1-gb-benchmarks?location=fra1)

-

Provider

DigitalOcean

-

Plan

Basic 1 vCPU / 1 GB

-

Location

Frankfurt 1

-

vCPU

1

-

RAM

1 GB

-

Storage

25 GB SSD

-

Network

2 Gbps

-

OS image

ubuntu-24-04-x64

-

Trigger

Scheduled

-

Queued at

Oct 7, 2026, 09:53:00 UTC

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

Referral link. If you sign up through it, I may get paid.

[Skip the referral](https://www.rackcensus.com/go/digitalocean/direct)[How this works](https://www.rackcensus.com/transparency#referrals-heading)

## Latest runs of this plan

- [Frankfurt 1 Oct 8, 2026](https://www.rackcensus.com/benchmarks/f9e3q1-digitalocean-basic-1-vcpu-1-gb-fra1-benchmark)Skipped
- [New York 3 Oct 8, 2026](https://www.rackcensus.com/benchmarks/2q6y0c-digitalocean-basic-1-vcpu-1-gb-nyc3-benchmark)Skipped
- [Amsterdam 3 Oct 7, 2026](https://www.rackcensus.com/benchmarks/8dr147-digitalocean-basic-1-vcpu-1-gb-ams3-benchmark)Skipped
- [Amsterdam 3 Oct 6, 2026](https://www.rackcensus.com/benchmarks/uov1zx-digitalocean-basic-1-vcpu-1-gb-ams3-benchmark)Skipped
- [Frankfurt 1 Oct 6, 2026](https://www.rackcensus.com/benchmarks/gtg1rz-digitalocean-basic-1-vcpu-1-gb-fra1-benchmark)Skipped

[Full history of this plan](https://www.rackcensus.com/plans/z6r6vs-digitalocean-basic-1-vcpu-1-gb-benchmarks/history)

## CPU

Geekbench was skipped because this plan has less than 2 GB of RAM, which isn't enough for Geekbench 7 to run without swap.

## Memory, TLS and scheduler

### Memory bandwidth (STREAM)

| Test | Result | Runs | Spread |
| --- | --- | --- | --- |
| Copy higher is better | 8.6 GB/s | 3 | 3.02% |
| Scale higher is better | 8.15 GB/s | 3 | 2.74% |
| Add higher is better | 8.93 GB/s | 3 | 3.71% |
| Triad higher is better | 9.14 GB/s | 3 | 5.94% |

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 | 147/s | 3 | 6.6% |
| RSA 4096 verifies higher is better | 10,104/s | 3 | 2.92% |
| SHA-256 higher is better | 167 MB/s | 3 | 1.9% |
| AES-256-GCM higher is better | 2.49 GB/s | 3 | 4.2% |
| ChaCha20-Poly1305 higher is better | 1.25 GB/s | 3 | 0.198% |

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 | 5.67 ms | 3 | 3.76% |
| Requests per second, 90th percentile higher is better | 176/s | 3 | 1.5% |
| Request latency, 99.9th percentile lower is better | 20.7 ms | 3 | 42.8% |
| Requests per second, average higher is better | 165/s | 3 | 4.8% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 94.4 MB/s (24,179 IOPS) | 94.7 MB/s (24,242 IOPS) | 189.1 MB/s (48,421 IOPS) |
| 64K | 573.8 MB/s (9,180 IOPS) | 576.8 MB/s (9,228 IOPS) | 1.12 GB/s (18,408 IOPS) |
| 512K | 637 MB/s (1,273 IOPS) | 670.8 MB/s (1,341 IOPS) | 1.28 GB/s (2,614 IOPS) |
| 1M | 662 MB/s (661 IOPS) | 706.1 MB/s (706 IOPS) | 1.34 GB/s (1,367 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.93 Gbps | 1.79 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 2 Gbps | 1.87 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 1.3 Gbps | 1.05 Gbps |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 1.16 Gbps | 1.03 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.82 Gbps | 1.57 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 | 816 | 1.23 ms |
| fdatasync | 894 | 1.12 ms |
| fsync | 301 | 3.32 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 299 | 3.34 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 395 | 2.53 ms |
| fdatasync | 509 | 1.96 ms |
| fsync | 215 | 4.65 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 195 | 5.14 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 318 | 3.15 ms |
| 2 \* 8kB open\_sync writes | 155 | 6.46 ms |
| 4 \* 4kB open\_sync writes | 63.4 | 15.8 ms |
| 8 \* 2kB open\_sync writes | 46.4 | 21.6 ms |
| 16 \* 1kB open\_sync writes | 24.1 | 41.5 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 399 | 2.5 ms |
| write, close, fsync | 277 | 3.62 ms |
| Non-synced 8 kB writes |
| --- |
| write | 535,675 | 0.002 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 | 452 | 1.86 ms | 3.77 ms | 6.91 ms | 33.5 ms | 0 |
| Read/write (TPC-B like) | 8 | 992 | 6.64 ms | 15.6 ms | 27.1 ms | 152 ms | 0 |
| Read/write (TPC-B like) | 32 | 872 | 28.8 ms | 88.6 ms | 137 ms | 243 ms | 0 |
| Read only | 1 | 17,339 | 0.052 ms | 0.083 ms | 0.114 ms | 0.718 ms | 0 |
| Read only | 8 | 14,586 | 0.474 ms | 0.883 ms | 1.18 ms | 2.96 ms | 0 |
| Read only | 32 | 9,410 | 3.01 ms | 3.78 ms | 6.3 ms | 15.2 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 3.78 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 | 324 | 2.67 ms | 5.59 ms | 8.5 ms | 27.3 ms | 0 |
| Read/write (TPC-B like) | 8 | 860 | 8.12 ms | 14.6 ms | 28.5 ms | 84.5 ms | 0 |
| Read/write (TPC-B like) | 32 | 908 | 33.1 ms | 49.4 ms | 64.5 ms | 134 ms | 0 |
| Read only | 1 | 1,269 | 0.683 ms | 1.69 ms | 3.7 ms | 9.62 ms | 0 |
| Read only | 8 | 4,327 | 1.53 ms | 4 ms | 7.12 ms | 18.1 ms | 0 |
| Read only | 32 | 4,108 | 6.33 ms | 12.9 ms | 19.3 ms | 38.7 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 42.8 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 | 86.3 | 1,726 | 10.1 ms | 19 ms | 33.1 ms | 0 |
| Read/write | 8 | 199 | 3,983 | 37.6 ms | 61.1 ms | 105 ms | 0 |
| Read/write | 32 | 210 | 4,208 | 140 ms | 236 ms | 332 ms | 0 |
| Read only | 1 | 460 | 7,363 | 2.03 ms | 3.19 ms | 5 ms | 0 |
| Read only | 8 | 426 | 6,811 | 18.3 ms | 23.5 ms | 30.8 ms | 0 |
| Read only | 32 | 388 | 6,203 | 80 ms | 101 ms | 126 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 20,616 | 18,742 | 2.85 ms | 8.64 ms | 17.5 ms |
| 1:1 set:get | 19,518 | 9,759 | 3.22 ms | 7.39 ms | 15.9 ms |

1,000,000 keys of 32 bytes. 64 connections over 1 thread, 60 s per ratio.

## Web frameworks

| Framework | Fortunes req/s | Single query req/s | JSON req/s | Fortunes p99 at 256 connections |
| --- | --- | --- | --- | --- |
| Next.js | The results arrived but couldn't be read, so no numbers are shown. |
| Express | The results arrived but couldn't be read, so no numbers are shown. |
| Fastify | The results arrived but couldn't be read, so no numbers are shown. |
| NestJS | The results arrived but couldn't be read, so no numbers are shown. |
| Nuxt | The results arrived but couldn't be read, so no numbers are shown. |
| FastAPI | The results arrived but couldn't be read, so no numbers are shown. |
| Django | The results arrived but couldn't be read, so no numbers are shown. |
| Rails | The results arrived but couldn't be read, so no numbers are shown. |
| Laravel | The results arrived but couldn't be read, so no numbers are shown. |
| Symfony | The results arrived but couldn't be read, so no numbers are shown. |

### WooCommerce

#### Page mix

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Home page | 0.447 | 3.5 s | 3.98 s | 4.07 s | 0% |
| Shop page | 0.447 | 4.84 s | 5.81 s | 6.15 s | 0% |
| Category page | 0.363 | 4.53 s | 5.41 s | 5.51 s | 0% |
| Product page | 0.335 | 3.52 s | 3.95 s | 4.07 s | 0% |
| Product search | 0.335 | 3.23 s | 3.75 s | 3.8 s | 0% |
| 32 virtual users |
| --- |
| Home page | 0.433 | 8.03 s | 14.5 s | 15 s | 0% |
| Shop page | 0.433 | 17.7 s | 20 s | 20.2 s | 0% |
| Category page | 0.433 | 17.1 s | 19.9 s | 20.1 s | 0% |
| Product page | 0.433 | 15 s | 15.4 s | 15.4 s | 0% |
| Product search | 0.203 | 13 s | 13.7 s | 13.8 s | 0% |

#### Cart and checkout

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Add to cart | 0.781 | 3.24 s | 4.21 s | 4.44 s | 0% |
| Cart | 0.781 | 3.44 s | 4.32 s | 4.44 s | 0% |
| Checkout | 0.781 | 2.65 s | 3.01 s | 3.13 s | 0% |
| 32 virtual users |
| --- |
| Add to cart | 0.896 | 11.4 s | 15.2 s | 15.5 s | 0% |
| Cart | 0.896 | 14.2 s | 15.1 s | 15.3 s | 0% |
| Checkout | 0.56 | 12.4 s | 13.7 s | 13.8 s | 0% |

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

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 1 | 1 |
| CPU | Shared vCPU | 9.2% of busy CPU time stolen |
| RAM | 1 GB | 961 MiB |
| Storage | 25 GB SSD | 24.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:** DO-Regular

**CPU cores:** 1

**CPU frequency:** 2295 MHz

**AES-NI:** Yes

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

**RAM reported:** 961 MiB

**Swap reported:** 0 MiB

**Disk reported:** 24.1 GiB

**Virtualization reported:** KVM

**CPU steal:** 9.2% 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:** Basic 1 vCPU / 1 GB

**Product line:** Basic

**Location:** Frankfurt 1

**vCPU:** 1 shared vCPU

**Architecture:** x86\_64

**RAM:** 1 GB

**Storage:** 25 GB SSD

**Virtualization:** KVM

**Network:** 2 Gbps

**Transfer:** 1 TB

**Port 25:** Closed

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

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

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

**Ran at:** Oct 7, 2026, 09:56:07 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 7, 2026, 09:53:00 UTC

**First update from the server:** Oct 7, 2026, 09:54:43 UTC

**Completed:** Oct 7, 2026, 11:10:00 UTC

**Server deleted:** Oct 7, 2026, 11:10:00 UTC

**Cost of this run:** $0.011

Tests 35 of 35 done Live output 698 lines

Setup 1 cores, 961.5 MiB RAM 4 of 4Done

Disk (fio) 198 MB/s at 4k, 1.43 GB/s at 1m 5 of 5Done

Network, IPv4 (iperf3) Median 1.82 Gbit/s send, 1.57 Gbit/s receive, 1 retried 5 of 5Done

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

Datastores 5 of 5Done

Web frameworks 12 of 12Done

Finish Results saved 1 of 1Done

Watch party 0 watching

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

## Watch party

Loading the party
