# DigitalOcean Basic AMD 1 vCPU / 1 GB

[San Francisco 3](https://rackcensus.com/locations/san-francisco-vps-benchmarks "Every provider in San Francisco")

Benchmark complete

Finished Oct 10, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

53,681

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=sfo3)

-

Provider

DigitalOcean

-

Plan

Basic AMD 1 vCPU / 1 GB

-

Location

San Francisco 3

-

vCPU

1

-

RAM

1 GB

-

Storage

25 GB NVMe

-

Network

2 Gbps

-

OS image

ubuntu-24-04-x64

-

Trigger

Scheduled

-

Queued at

Oct 10, 2026, 10:50: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

- [Frankfurt 1 Oct 11, 2026](https://rackcensus.com/benchmarks/odjloi-digitalocean-basic-amd-1-vcpu-1-gb-fra1-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 | 23.8 GB/s | 3 | 2.87% |
| Scale higher is better | 16.7 GB/s | 3 | 2.41% |
| Add higher is better | 19 GB/s | 3 | 0.7% |
| Triad higher is better | 19.3 GB/s | 3 | 3.02% |

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 | 201/s | 3 | 1.44% |
| RSA 4096 verifies higher is better | 13,311/s | 3 | 4.1% |
| SHA-256 higher is better | 638 MB/s | 3 | 2.13% |
| AES-256-GCM higher is better | 3.16 GB/s | 3 | 1.02% |
| ChaCha20-Poly1305 higher is better | 1.52 GB/s | 3 | 11% |

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 | 4.53 ms | 3 | 1.78% |
| Requests per second, 90th percentile higher is better | 220/s | 3 | 1.72% |
| Request latency, 99.9th percentile lower is better | 10.1 ms | 3 | 2.86% |
| Requests per second, average higher is better | 212/s | 3 | 2.3% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 104.7 MB/s (26,805 IOPS) | 105 MB/s (26,876 IOPS) | 209.7 MB/s (53,681 IOPS) |
| 64K | 662.1 MB/s (10,593 IOPS) | 665.6 MB/s (10,649 IOPS) | 1.3 GB/s (21,242 IOPS) |
| 512K | 370.1 MB/s (740 IOPS) | 389.7 MB/s (779 IOPS) | 759.8 MB/s (1,519 IOPS) |
| 1M | 249.3 MB/s (249 IOPS) | 265.9 MB/s (265 IOPS) | 515.2 MB/s (514 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.27 Gbps | 1.37 Gbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 1.64 Gbps | 1.5 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 1.19 Gbps | 1.19 Gbps |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 2 Gbps | 1.89 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.85 Gbps | 1.52 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 | 4,565 | 0.219 ms |
| fdatasync | 4,183 | 0.239 ms |
| fsync | 1,897 | 0.527 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 2,713 | 0.369 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 2,060 | 0.485 ms |
| fdatasync | 3,292 | 0.304 ms |
| fsync | 1,931 | 0.518 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 997 | 1 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 2,001 | 0.5 ms |
| 2 \* 8kB open\_sync writes | 1,107 | 0.903 ms |
| 4 \* 4kB open\_sync writes | 782 | 1.28 ms |
| 8 \* 2kB open\_sync writes | 347 | 2.88 ms |
| 16 \* 1kB open\_sync writes | 150 | 6.67 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 1,790 | 0.559 ms |
| write, close, fsync | 1,589 | 0.629 ms |
| Non-synced 8 kB writes |
| --- |
| write | 472,551 | 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 | 1,365 | 0.646 ms | 1.07 ms | 2.31 ms | 4.18 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,981 | 3.65 ms | 6.68 ms | 9.48 ms | 16.8 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,768 | 14.4 ms | 40.4 ms | 68.4 ms | 104 ms | 0 |
| Read only | 1 | 19,997 | 0.044 ms | 0.071 ms | 0.092 ms | 0.308 ms | 0 |
| Read only | 8 | 20,657 | 0.324 ms | 0.617 ms | 0.813 ms | 1.79 ms | 0 |
| Read only | 32 | 17,588 | 1.44 ms | 2.79 ms | 3.6 ms | 6.26 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 2.4 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 | 809 | 1.12 ms | 1.95 ms | 4.09 ms | 9.7 ms | 0 |
| Read/write (TPC-B like) | 8 | 1,602 | 4.4 ms | 8.66 ms | 13.2 ms | 22.9 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,593 | 18.7 ms | 30.4 ms | 38.6 ms | 61.3 ms | 0 |
| Read only | 1 | 2,475 | 0.377 ms | 0.729 ms | 1.64 ms | 3.33 ms | 0 |
| Read only | 8 | 6,900 | 1.05 ms | 2.24 ms | 3.37 ms | 5.32 ms | 0 |
| Read only | 32 | 7,243 | 3.62 ms | 7.2 ms | 9.91 ms | 14 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 26 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 | 210 | 4,200 | 4.18 ms | 8.28 ms | 15.3 ms | 0 |
| Read/write | 8 | 339 | 6,782 | 22.3 ms | 35.6 ms | 48.3 ms | 0 |
| Read/write | 32 | 312 | 6,250 | 95.8 ms | 159 ms | 208 ms | 0 |
| Read only | 1 | 680 | 10,877 | 1.37 ms | 2 ms | 2.76 ms | 0 |
| Read only | 8 | 673 | 10,762 | 11.7 ms | 15 ms | 18 ms | 0 |
| Read only | 32 | 617 | 9,868 | 51 ms | 64.5 ms | 71.8 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 28,671 | 26,064 | 2.06 ms | 4.45 ms | 7.14 ms |
| 1:1 set:get | 28,789 | 14,394 | 2.05 ms | 4.45 ms | 7.33 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 | 180 | 759 | 1,226 | 3.4 s |
| Express express-postgresjs | 5,335 | 6,015 | 8,724 | 1.62 s |
| Fastify fastify-postgres | 5,227 | 7,554 | 10,791 | 1.72 s |
| NestJS nestjs | 1,812 | 2,051 | 6,334 | 251 ms |
| Nuxt nuxt | 4,054 | 5,107 | 9,406 | 2.31 s |
| FastAPI fastapi | 1,405 | 1,734 | 6,780 | 697 ms |
| Django django-postgresql | 745 | 838 | 1,838 | 419 ms |
| Rails rails | 1,106 | 1,592 | 5,421 | 285 ms |
| Laravel laravel | 263 | 318 | 640 | 2.03 s |
| Symfony symfony | 360 | 381 | 1,242 | 827 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.876 | 1.68 s | 1.89 s | 1.94 s | 0% |
| Shop page | 0.876 | 2.17 s | 2.51 s | 2.61 s | 0% |
| Category page | 0.876 | 1.93 s | 2.35 s | 2.53 s | 0% |
| Product page | 0.876 | 1.64 s | 1.81 s | 1.88 s | 0% |
| Product search | 0.876 | 1.55 s | 1.77 s | 1.89 s | 0% |
| 32 virtual users |
| --- |
| Home page | 0.905 | 6.15 s | 7.46 s | 7.52 s | 0% |
| Shop page | 0.905 | 8.06 s | 9.24 s | 9.7 s | 0% |
| Category page | 0.905 | 7.83 s | 9.55 s | 9.77 s | 0% |
| Product page | 0.905 | 6.47 s | 7.13 s | 7.23 s | 0% |
| Product search | 0.89 | 5.91 s | 6.61 s | 6.67 s | 0% |

#### Cart and checkout

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 8 virtual users |
| --- |
| Add to cart | 1.5 | 1.79 s | 2.31 s | 2.52 s | 0% |
| Cart | 1.5 | 1.87 s | 2.36 s | 2.48 s | 0% |
| Checkout | 1.5 | 1.5 s | 1.77 s | 2.4 s | 0% |
| 32 virtual users |
| --- |
| Add to cart | 1.8 | 6.01 s | 7.71 s | 8.54 s | 0% |
| Cart | 1.8 | 6.69 s | 8.15 s | 8.49 s | 0% |
| Checkout | 1.41 | 5.3 s | 6.78 s | 6.94 s | 0% |

k6 with a fixed number of virtual users, 64 to 71 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 | 0.1% 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:** 1996 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:** 0.1% 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:** San Francisco 3

**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 10, 2026, 10:52:59 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 10, 2026, 10:50:00 UTC

**First update from the server:** Oct 10, 2026, 10:51:23 UTC

**Completed:** Oct 10, 2026, 12:03:00 UTC

**Server deleted:** Oct 10, 2026, 12:03:00 UTC

**Cost of this run:** $0.013

Tests 35 of 35 done Live output 698 lines

Setup 1 cores, 961.5 MiB RAM 4 of 4Done

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

Network, IPv4 (iperf3) Median 1.64 Gbit/s send, 1.50 Gbit/s receive, 3 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 11:55 UTC. It's read only now.

## Watch party

Loading the party
