# DigitalOcean Basic AMD 1 vCPU / 1 GB

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

Benchmark complete

Finished Oct 11, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

59,178

fio random read and write, 50/50

Monthly price at test time

$7.00

Same price today

## Server

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

-

Provider

DigitalOcean

-

Plan

Basic AMD 1 vCPU / 1 GB

-

Location

Frankfurt 1

-

vCPU

1

-

RAM

1 GB

-

Storage

25 GB NVMe

-

Network

2 Gbps

-

OS image

ubuntu-24-04-x64

-

Trigger

Scheduled

-

Queued at

Oct 11, 2026, 05:00:00 UTC

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

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

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

## Latest runs of this plan

- [San Francisco 3 Oct 10, 2026](https://rackcensus.com/benchmarks/jwq8uz-digitalocean-basic-amd-1-vcpu-1-gb-sfo3-benchmark)Skipped
- [New York 3 Oct 9, 2026](https://rackcensus.com/benchmarks/25saj5-digitalocean-basic-amd-1-vcpu-1-gb-nyc3-benchmark)Skipped

[Full history of this plan](https://rackcensus.com/plans/a382v9-digitalocean-basic-amd-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 | 26.2 GB/s | 3 | 5.53% |
| Scale higher is better | 20 GB/s | 3 | 1.99% |
| Add higher is better | 22.3 GB/s | 3 | 3.99% |
| Triad higher is better | 22.8 GB/s | 3 | 5.05% |

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 | 176/s | 3 | 6.32% |
| RSA 4096 verifies higher is better | 11,682/s | 3 | 3.44% |
| SHA-256 higher is better | 647 MB/s | 3 | 1.21% |
| AES-256-GCM higher is better | 2.78 GB/s | 3 | 10.3% |
| ChaCha20-Poly1305 higher is better | 1.78 GB/s | 3 | 4.03% |

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 | 6.04 ms | 3 | 4.13% |
| Requests per second, 90th percentile higher is better | 168/s | 3 | 2.4% |
| Request latency, 99.9th percentile lower is better | 12.4 ms | 3 | 6.18% |
| Requests per second, average higher is better | 160/s | 3 | 4.1% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 115.4 MB/s (29,550 IOPS) | 115.7 MB/s (29,628 IOPS) | 231.2 MB/s (59,178 IOPS) |
| 64K | 778.4 MB/s (12,455 IOPS) | 782.5 MB/s (12,520 IOPS) | 1.52 GB/s (24,975 IOPS) |
| 512K | 583 MB/s (1,165 IOPS) | 614 MB/s (1,227 IOPS) | 1.17 GB/s (2,392 IOPS) |
| 1M | 262.8 MB/s (262 IOPS) | 280.3 MB/s (280 IOPS) | 543 MB/s (542 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.96 Gbps | 1.84 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 2.01 Gbps | 1.88 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 1.35 Gbps | 1.24 Gbps |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 1.17 Gbps | 1.25 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.8 Gbps | 1.58 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 | 3,514 | 0.285 ms |
| fdatasync | 3,705 | 0.27 ms |
| fsync | 1,223 | 0.818 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 1,618 | 0.618 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 1,810 | 0.552 ms |
| fdatasync | 3,268 | 0.306 ms |
| fsync | 1,280 | 0.781 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 751 | 1.33 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 1,165 | 0.858 ms |
| 2 \* 8kB open\_sync writes | 600 | 1.67 ms |
| 4 \* 4kB open\_sync writes | 323 | 3.09 ms |
| 8 \* 2kB open\_sync writes | 198 | 5.04 ms |
| 16 \* 1kB open\_sync writes | 104 | 9.6 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 1,487 | 0.672 ms |
| write, close, fsync | 1,224 | 0.817 ms |
| Non-synced 8 kB writes |
| --- |
| write | 409,240 | 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 | 886 | 0.945 ms | 2.09 ms | 4.04 ms | 9 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,504 | 4.76 ms | 8.9 ms | 12.5 ms | 19.5 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,341 | 19.3 ms | 51 ms | 88.3 ms | 143 ms | 0 |
| Read only | 1 | 14,841 | 0.061 ms | 0.101 ms | 0.13 ms | 0.572 ms | 0 |
| Read only | 8 | 17,740 | 0.378 ms | 0.747 ms | 0.971 ms | 1.85 ms | 0 |
| Read only | 32 | 15,168 | 1.71 ms | 2.82 ms | 3.67 ms | 6.4 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 2.52 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 | 729 | 1.27 ms | 2.04 ms | 3.75 ms | 7.33 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,433 | 5.16 ms | 8.87 ms | 12.3 ms | 17.4 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,383 | 21.8 ms | 33.2 ms | 41.3 ms | 54.4 ms | 0 |
| Read only | 1 | 2,334 | 0.403 ms | 0.745 ms | 1.57 ms | 2.83 ms | 0 |
| Read only | 8 | 5,724 | 1.28 ms | 2.57 ms | 3.71 ms | 5.9 ms | 0 |
| Read only | 32 | 5,836 | 4.64 ms | 8.47 ms | 11.5 ms | 16.6 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 26.7 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 | 199 | 3,978 | 4.65 ms | 7.7 ms | 14.7 ms | 0 |
| Read/write | 8 | 257 | 5,130 | 27.2 ms | 53.9 ms | 81.5 ms | 0 |
| Read/write | 32 | 246 | 4,919 | 123 ms | 200 ms | 263 ms | 0 |
| Read only | 1 | 562 | 8,989 | 1.7 ms | 2.35 ms | 3.3 ms | 0 |
| Read only | 8 | 551 | 8,808 | 14.2 ms | 18.6 ms | 21.5 ms | 0 |
| Read only | 32 | 531 | 8,492 | 58.9 ms | 75.8 ms | 83 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 21,390 | 19,445 | 2.74 ms | 6.14 ms | 9.73 ms |
| 1:1 set:get | 22,171 | 11,085 | 2.45 ms | 5.92 ms | 9.34 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 nextjs | 153 | 697 | 1,170 | 4.69 s |
| Express express-postgresjs | 4,644 | 4,413 | 6,708 | 2.08 s |
| Fastify fastify-postgres | 4,337 | 4,746 | 8,562 | 2.6 s |
| NestJS nestjs | 1,594 | 1,732 | 4,878 | 263 ms |
| Nuxt nuxt | 3,502 | 4,094 | 7,382 | 3.42 s |
| FastAPI fastapi | 1,055 | 1,477 | 5,914 | 824 ms |
| Django django-postgresql | 649 | 725 | 1,448 | 479 ms |
| Rails rails | 921 | 1,060 | 3,882 | 497 ms |
| Laravel laravel | 254 | 261 | 491 | 1.57 s |
| Symfony symfony | 330 | 331 | 930 | 947 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.

### WooCommerce

#### Page mix

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Home page | 0.79 | 1.78 s | 2.58 s | 2.73 s | 0% |
| Shop page | 0.79 | 2.43 s | 3.28 s | 3.43 s | 0% |
| Category page | 0.79 | 2.24 s | 2.94 s | 3.3 s | 0% |
| Product page | 0.762 | 1.79 s | 2.52 s | 2.59 s | 0% |
| Product search | 0.677 | 1.7 s | 2.13 s | 2.25 s | 0% |
| 32 virtual users |
| --- |
| Home page | 0.889 | 7.98 s | 9.6 s | 9.82 s | 0% |
| Shop page | 0.889 | 10.8 s | 12.2 s | 12.4 s | 0% |
| Category page | 0.736 | 9.66 s | 11.6 s | 12 s | 0% |
| Product page | 0.445 | 7.44 s | 7.74 s | 7.8 s | 0% |
| Product search | 0.445 | 7.5 s | 7.57 s | 7.6 s | 0% |

#### Cart and checkout

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Add to cart | 1.25 | 1.98 s | 2.49 s | 2.56 s | 0% |
| Cart | 1.25 | 2.08 s | 2.42 s | 2.49 s | 0% |
| Checkout | 1.25 | 1.61 s | 1.92 s | 2.06 s | 0% |
| 32 virtual users |
| --- |
| Add to cart | 1.45 | 6.96 s | 8.71 s | 9.18 s | 0% |
| Cart | 1.45 | 7.96 s | 8.84 s | 9.05 s | 0% |
| Checkout | 1.45 | 6.49 s | 7.35 s | 7.48 s | 0% |

k6 with a fixed number of virtual users, 66 to 72 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 | 4.6% of busy CPU time stolen |
| RAM | 1 GB | 961 MiB |
| Storage | 25 GB NVMe | 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-Premium-AMD

**CPU cores:** 1

**CPU frequency:** 2300 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:** 4.6% 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 AMD 1 vCPU / 1 GB

**Product line:** Basic AMD

**Location:** Frankfurt 1

**vCPU:** 1 shared vCPU

**Architecture:** x86\_64

**RAM:** 1 GB

**Storage:** 25 GB NVMe

**Virtualization:** KVM

**Network:** 2 Gbps

**Transfer:** 1 TB

**Port 25:** Closed

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

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

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

**Ran at:** Oct 11, 2026, 05:03:23 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 11, 2026, 05:00:00 UTC

**First update from the server:** Oct 11, 2026, 05:01:36 UTC

**Completed:** Oct 11, 2026, 06:14:00 UTC

**Server deleted:** Oct 11, 2026, 06:14:00 UTC

**Cost of this run:** $0.013

Tests 35 of 35 done Live output 700 lines

Setup 1 cores, 961.5 MiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 1.80 Gbit/s send, 1.58 Gbit/s receive, 4 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 06:06 UTC. It's read only now.

## Watch party

Loading the party
