DigitalOcean c2-2vcpu-4gb
The complete benchmark report. Every workload, in one place.
All values below are medians of passed runs unless stated otherwise.
CPU performance
sysbench 1.0.20 prime workload · 1 thread and all 2 vCPUs.
Single thread
All 2 vCPUs
- 1 thread444.9
- 2 threads696.1
Median of 3 passed runs of about 30 seconds per thread count.
gzip fixed corpus · compression input throughput 181.3 MiB/s · single run.
Memory bandwidth
sysbench 1.0.20 memory · sequential read and write operations.
- Read9,950
- Write9,402
- CopyNot measured
Median of 3 passed runs of about 30 seconds per operation. The copy workload is deferred in this methodology.
Disk performance
fio 3.36 · direct I/O · sequential, random and mixed jobs measured separately.
| Workload | Throughput | p95 latency |
|---|---|---|
| Sequential read | 1,298 MB/s | 60,031 µs |
| Sequential write | 351.1 MB/s | 154,141 µs |
| Random read | 78,629 IOPS | 1,221 µs |
| Random write | 24,870 IOPS | 2,572 µs |
| Random mix · read | 35,878 IOPS | 1,286 µs |
| Random mix · write | 15,377 IOPS | 2,212 µs |
Median of 3 passed runs of about 30 seconds per job. The mixed job's reads and writes are listed separately.
Network performance
Source: San Francisco, US · published internet speed observations.
No published internet speed test for this plan and region.
The original capped iperf path checks are retained as historical evidence under Evidence.
PostgreSQL performance
PostgreSQL 16.15 · pgbench · in-memory and storage-bound datasets.
| Dataset profile | Transactions / sec | Average latency | Passed runs |
|---|---|---|---|
| In memory | 1,329 | 3.01 ms | 3 of 3 passed |
| Storage-bound | 751.9 | 5.32 ms | 3 of 3 passed |
Median of 3 passed runs of about 30 seconds per dataset. Latency percentiles were not measured.
Running PostgreSQL yourself? Read our PostgreSQL tutorials.
Consistency across runs
One deployment · repeated runs inside the recorded test window.
Workload skipped · No measured score. This report covers a 33 min test window, so no time series exists and none is drawn.
| Repetition | CPU 1 thread | Memory read | Random read | PostgreSQL |
|---|---|---|---|---|
| 1 | 445.0 events/s | 9,950 MiB/s | 79,089 IOPS | 1,248 tx/s |
| 2 | 443.8 events/s | 9,994 MiB/s | 76,773 IOPS | 1,368 tx/s |
| 3 | 444.9 events/s | 9,947 MiB/s | 78,629 IOPS | 1,329 tx/s |
Individual runs, not medians. PostgreSQL uses the in-memory dataset. Spread within one test window does not establish long-term consistency.
Inspect the evidence.
Recorded environment, reviewed measurements and the published snapshot.
Reviewed, sanitized snapshot: every run, the environment record and all limitations. Raw intake logs remain private.
One deployment describes this report, not every server a provider operates.
A 33 min test window does not establish 24-hour consistency or long-term reliability.
AI-assisted review · Codex AI-assisted evidence review (user-delegated) · Reviewed 17 Oct 2026 · Published 17 Oct 2026 · Revision 1
Review and measurement limits
- Single deployment; not an independent three-instance cohort.
- No hardware attestation.
- Pilot memory implements read/write; copy workload deferred.
- Network endpoints must be supplied by the operator; no public third-party servers are used.
- Database latency distribution is not available from this pilot parser; average latency only.
- This profile is not a full implementation of all proposed methodology tests.
- Resource-constrained environment: CPU workers and RAM reflect affinity/cgroup limits, not host capacity. Private resource-limits evidence retains both; do not merge container/VM or architecture cohorts.
- Short profile: does not establish 24-hour consistency.
- This report received AI-assisted evidence review under user-delegated authorization. This is not independent human verification or hardware attestation.
- This pilot measures its recorded test window. It does not establish 24-hour consistency, long-term reliability or provider-wide performance.
- Network tests use two controlled London endpoints, one stream, a 100 Mbit/s rate setting and a requested 64 MiB byte target per direction. Reverse-mode polling can exceed that byte target; actual sent and received bytes govern traffic accounting. These results do not measure maximum link capacity.
- SKU and region were matched to retained deployment records. A missing detected SKU uses the operator-supplied plan and remains labelled supplied. Control-plane records and checksums do not attest the physical host or establish physical-host independence.
- Package versions and available guard and journal evidence were reviewed. These records do not establish continuous absence of package activity throughout the test window.
- The pilot includes memory read/write and average PostgreSQL latency. Memory-copy tests and PostgreSQL latency percentiles are not implemented. Skipped consistency and missing measurements are not scores.
Environment and configuration
| Recorded field | Value |
|---|---|
| Provider | DigitalOcean · detected |
| Region | San Francisco, US (sfo2) · detected |
| Plan | c2-2vcpu-4gb · supplied |
| List price | $47.00 / month · $0.0699 / hour. List price on 17 Oct 2026, USD before tax. Source: DigitalOcean size catalog (API). |
| CPU | Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz |
| Architecture | x86_64 |
| Kernel | 6.8.0-142-generic |
| Virtualization | kvm |
| Agent | 0.2.0 (45388107250ca6e26b216f15a9c17b8d405ec1b7+source.ff98e866b26b3ac76b512554) |
| Dependencies | sysbench: sysbench 1.0.20 · fio: fio-3.36 · iperf3: iperf 3.16 (cJSON 1.7.15) · postgresql: postgres (PostgreSQL) 16.15 (Ubuntu 16.15-0ubuntu0.24.04.1) · pgbench: pgbench (PostgreSQL) 16.15 (Ubuntu 16.15-0ubuntu0.24.04.1) · gzip: gzip 1.12 · apt:sysbench: 1.0.20+ds-6build2 · apt:fio: 3.36-1ubuntu0.1 · apt:iperf3: 3.16-1build2 · apt:postgresql-16: 16.15-0ubuntu0.24.04.1 · apt:postgresql-client-16: 16.15-0ubuntu0.24.04.1 · apt:gzip: 1.12-1ubuntu3.2 |
| Configuration hash | 57ddbe7b8cb16529201da296bafe8fdc8a20d14d3d3f63518b00c5095bbec419 |
| Started | 2026-10-17T12:17:06.172Z |
| Finished | 2026-10-17T12:49:47.548Z |
| Execution status | completed |
Historical capped network path checks
Original full benchmark deployment · 17 Oct 2026. These controlled iperf path checks used a 100 Mbit/s rate setting and do not measure internet speed or maximum link capacity. RTT is the probe mean; jitter and packet loss were not measured. The original report JSON retains these measurements.
| Controlled destination | Download | Upload | RTT | Jitter | Loss |
|---|---|---|---|---|---|
| London endpoint 1 | 99.9 Mbit/s | 97.4 Mbit/s | 143.1 ms | — | — |
| London endpoint 2 | 99.8 Mbit/s | 97.5 Mbit/s | 136.9 ms | — | — |
Every measured repetition and outcome
CPU performance
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| CPU 1 thread(s) · repetition 1 | passed | Events per second | 445.0 events/s |
| CPU 2 thread(s) · repetition 1 | passed | Events per second | 700.4 events/s |
| CPU 1 thread(s) · repetition 2 | passed | Events per second | 443.8 events/s |
| CPU 2 thread(s) · repetition 2 | passed | Events per second | 695.6 events/s |
| CPU 1 thread(s) · repetition 3 | passed | Events per second | 444.9 events/s |
| CPU 2 thread(s) · repetition 3 | passed | Events per second | 696.1 events/s |
| gzip fixed corpus · repetition 1 | passed | Compression input throughput | 181.3 MiB/s |
Memory bandwidth
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| Memory read · repetition 1 | passed | Bandwidth | 9,950 MiB/s |
| Memory write · repetition 1 | passed | Bandwidth | 9,402 MiB/s |
| Memory read · repetition 2 | passed | Bandwidth | 9,994 MiB/s |
| Memory write · repetition 2 | passed | Bandwidth | 9,412 MiB/s |
| Memory read · repetition 3 | passed | Bandwidth | 9,947 MiB/s |
| Memory write · repetition 3 | passed | Bandwidth | 9,338 MiB/s |
Disk performance
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| Disk write · repetition 1 | passed | write bandwidth | 417.0 MB/s |
| Disk write · repetition 1 | passed | write operations | 397.7 IOPS |
| Disk write · repetition 1 | passed | write p50 latency | 73,925 µs |
| Disk write · repetition 1 | passed | write p95 latency | 139,461 µs |
| Disk write · repetition 1 | passed | write p99 latency | 270,533 µs |
| Disk read · repetition 1 | passed | read bandwidth | 1,118 MB/s |
| Disk read · repetition 1 | passed | read operations | 1,066 IOPS |
| Disk read · repetition 1 | passed | read p50 latency | 28,180 µs |
| Disk read · repetition 1 | passed | read p95 latency | 60,031 µs |
| Disk read · repetition 1 | passed | read p99 latency | 85,459 µs |
| Disk randwrite · repetition 1 | passed | write bandwidth | 105.1 MB/s |
| Disk randwrite · repetition 1 | passed | write operations | 25,659 IOPS |
| Disk randwrite · repetition 1 | passed | write p50 latency | 1,020 µs |
| Disk randwrite · repetition 1 | passed | write p95 latency | 2,441 µs |
| Disk randwrite · repetition 1 | passed | write p99 latency | 3,686 µs |
| Disk randread · repetition 1 | passed | read bandwidth | 323.9 MB/s |
| Disk randread · repetition 1 | passed | read operations | 79,089 IOPS |
| Disk randread · repetition 1 | passed | read p50 latency | 313.3 µs |
| Disk randread · repetition 1 | passed | read p95 latency | 1,139 µs |
| Disk randread · repetition 1 | passed | read p99 latency | 1,827 µs |
| Disk randrw · repetition 1 | passed | read bandwidth | 155.0 MB/s |
| Disk randrw · repetition 1 | passed | read operations | 37,853 IOPS |
| Disk randrw · repetition 1 | passed | read p50 latency | 333.8 µs |
| Disk randrw · repetition 1 | passed | read p95 latency | 1,286 µs |
| Disk randrw · repetition 1 | passed | read p99 latency | 2,179 µs |
| Disk randrw · repetition 1 | passed | write bandwidth | 66.5 MB/s |
| Disk randrw · repetition 1 | passed | write operations | 16,231 IOPS |
| Disk randrw · repetition 1 | passed | write p50 latency | 618.5 µs |
| Disk randrw · repetition 1 | passed | write p95 latency | 2,073 µs |
| Disk randrw · repetition 1 | passed | write p99 latency | 3,391 µs |
| Disk write · repetition 2 | passed | write bandwidth | 351.1 MB/s |
| Disk write · repetition 2 | passed | write operations | 334.9 IOPS |
| Disk write · repetition 2 | passed | write p50 latency | 88,605 µs |
| Disk write · repetition 2 | passed | write p95 latency | 154,141 µs |
| Disk write · repetition 2 | passed | write p99 latency | 240,124 µs |
| Disk read · repetition 2 | passed | read bandwidth | 1,300 MB/s |
| Disk read · repetition 2 | passed | read operations | 1,239 IOPS |
| Disk read · repetition 2 | passed | read p50 latency | 23,724 µs |
| Disk read · repetition 2 | passed | read p95 latency | 53,740 µs |
| Disk read · repetition 2 | passed | read p99 latency | 85,459 µs |
| Disk randwrite · repetition 2 | passed | write bandwidth | 101.9 MB/s |
| Disk randwrite · repetition 2 | passed | write operations | 24,870 IOPS |
| Disk randwrite · repetition 2 | passed | write p50 latency | 1,020 µs |
| Disk randwrite · repetition 2 | passed | write p95 latency | 2,572 µs |
| Disk randwrite · repetition 2 | passed | write p99 latency | 4,014 µs |
| Disk randread · repetition 2 | passed | read bandwidth | 314.5 MB/s |
| Disk randread · repetition 2 | passed | read operations | 76,773 IOPS |
| Disk randread · repetition 2 | passed | read p50 latency | 313.3 µs |
| Disk randread · repetition 2 | passed | read p95 latency | 1,253 µs |
| Disk randread · repetition 2 | passed | read p99 latency | 1,843 µs |
| Disk randrw · repetition 2 | passed | read bandwidth | 101.1 MB/s |
| Disk randrw · repetition 2 | passed | read operations | 24,676 IOPS |
| Disk randrw · repetition 2 | passed | read p50 latency | 325.6 µs |
| Disk randrw · repetition 2 | passed | read p95 latency | 1,450 µs |
| Disk randrw · repetition 2 | passed | read p99 latency | 2,605 µs |
| Disk randrw · repetition 2 | passed | write bandwidth | 43.3 MB/s |
| Disk randrw · repetition 2 | passed | write operations | 10,582 IOPS |
| Disk randrw · repetition 2 | passed | write p50 latency | 782.3 µs |
| Disk randrw · repetition 2 | passed | write p95 latency | 3,817 µs |
| Disk randrw · repetition 2 | passed | write p99 latency | 13,959 µs |
| Disk write · repetition 3 | passed | write bandwidth | 344.7 MB/s |
| Disk write · repetition 3 | passed | write operations | 328.7 IOPS |
| Disk write · repetition 3 | passed | write p50 latency | 89,653 µs |
| Disk write · repetition 3 | passed | write p95 latency | 166,724 µs |
| Disk write · repetition 3 | passed | write p99 latency | 304,087 µs |
| Disk read · repetition 3 | passed | read bandwidth | 1,298 MB/s |
| Disk read · repetition 3 | passed | read operations | 1,238 IOPS |
| Disk read · repetition 3 | passed | read p50 latency | 22,675 µs |
| Disk read · repetition 3 | passed | read p95 latency | 61,080 µs |
| Disk read · repetition 3 | passed | read p99 latency | 93,848 µs |
| Disk randwrite · repetition 3 | passed | write bandwidth | 84.5 MB/s |
| Disk randwrite · repetition 3 | passed | write operations | 20,641 IOPS |
| Disk randwrite · repetition 3 | passed | write p50 latency | 1,106 µs |
| Disk randwrite · repetition 3 | passed | write p95 latency | 3,555 µs |
| Disk randwrite · repetition 3 | passed | write p99 latency | 5,472 µs |
| Disk randread · repetition 3 | passed | read bandwidth | 322.1 MB/s |
| Disk randread · repetition 3 | passed | read operations | 78,629 IOPS |
| Disk randread · repetition 3 | passed | read p50 latency | 313.3 µs |
| Disk randread · repetition 3 | passed | read p95 latency | 1,221 µs |
| Disk randread · repetition 3 | passed | read p99 latency | 1,630 µs |
| Disk randrw · repetition 3 | passed | read bandwidth | 147.0 MB/s |
| Disk randrw · repetition 3 | passed | read operations | 35,878 IOPS |
| Disk randrw · repetition 3 | passed | read p50 latency | 358.4 µs |
| Disk randrw · repetition 3 | passed | read p95 latency | 1,237 µs |
| Disk randrw · repetition 3 | passed | read p99 latency | 2,212 µs |
| Disk randrw · repetition 3 | passed | write bandwidth | 63.0 MB/s |
| Disk randrw · repetition 3 | passed | write operations | 15,377 IOPS |
| Disk randrw · repetition 3 | passed | write p50 latency | 643.1 µs |
| Disk randrw · repetition 3 | passed | write p95 latency | 2,212 µs |
| Disk randrw · repetition 3 | passed | write p99 latency | 4,227 µs |
Network performance
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| Network upload endpoint 1 · repetition 1 | passed | Sender throughput | 100.2 Mbit/s |
| Network upload endpoint 1 · repetition 1 | passed | Receiver throughput | 97.4 Mbit/s |
| Network download endpoint 1 · repetition 1 | passed | Sender throughput | 100.1 Mbit/s |
| Network download endpoint 1 · repetition 1 | passed | Receiver throughput | 99.9 Mbit/s |
| Latency endpoint 1 · repetition 1 | passed | Round-trip mean | 143.1 ms |
| Network upload endpoint 2 · repetition 1 | passed | Sender throughput | 100.2 Mbit/s |
| Network upload endpoint 2 · repetition 1 | passed | Receiver throughput | 97.5 Mbit/s |
| Network download endpoint 2 · repetition 1 | passed | Sender throughput | 100.0 Mbit/s |
| Network download endpoint 2 · repetition 1 | passed | Receiver throughput | 99.8 Mbit/s |
| Latency endpoint 2 · repetition 1 | passed | Round-trip mean | 136.9 ms |
PostgreSQL performance
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| PostgreSQL memory dataset · repetition 1 | passed | Transactions | 1,248 tx/s |
| PostgreSQL memory dataset · repetition 1 | passed | Average latency | 3.20 ms |
| PostgreSQL memory dataset · repetition 2 | passed | Transactions | 1,368 tx/s |
| PostgreSQL memory dataset · repetition 2 | passed | Average latency | 2.92 ms |
| PostgreSQL memory dataset · repetition 3 | passed | Transactions | 1,329 tx/s |
| PostgreSQL memory dataset · repetition 3 | passed | Average latency | 3.01 ms |
| PostgreSQL storage dataset · repetition 1 | passed | Transactions | 907.0 tx/s |
| PostgreSQL storage dataset · repetition 1 | passed | Average latency | 4.41 ms |
| PostgreSQL storage dataset · repetition 2 | passed | Transactions | 751.9 tx/s |
| PostgreSQL storage dataset · repetition 2 | passed | Average latency | 5.32 ms |
| PostgreSQL storage dataset · repetition 3 | passed | Transactions | 663.7 tx/s |
| PostgreSQL storage dataset · repetition 3 | passed | Average latency | 6.02 ms |
Consistency over time
| Workload / repetition | Outcome | Metric | Value |
|---|---|---|---|
| 24-hour consistency · repetition 1 | skipped | No measured score | Not measured |