# Amazon Lightsail Micro, 2 TB transfer

[Virginia](https://rackcensus.com/locations/ashburn-vps-benchmarks "Every provider in Ashburn")

Benchmark complete

Finished Oct 15, 2026

Geekbench 7 single-core

Skipped

Geekbench 7 multi-core

Skipped

Disk 4K IOPS

3,097

fio random read and write, 50/50

Median here: 3,097 over 3 runs in 90 days

Monthly price at test time

$7.00

Same price today

## Server

[Amazon Lightsail](https://rackcensus.com/vps-providers/lightsail-benchmarks)[Micro, 2 TB transfer](https://rackcensus.com/plans/k4spwg-lightsail-micro-2-tb-transfer-benchmarks?location=us-east-1)

-

Provider

Amazon Lightsail

-

Plan

Micro, 2 TB transfer

-

Location

Virginia

-

vCPU

2

-

RAM

1 GB

-

Storage

40 GB SSD

-

Network

Unknown

-

OS image

ubuntu\_24\_04

-

Trigger

Scheduled

-

Queued at

Oct 14, 2026, 23:04:00 UTC

[Visit Amazon Lightsail](https://rackcensus.com/go/lightsail)

## Latest runs of this plan

- [Oregon Oct 15, 2026](https://rackcensus.com/benchmarks/w718bv-lightsail-micro-2-tb-transfer-us-west-2-benchmark)Skipped
- [Montreal Oct 13, 2026](https://rackcensus.com/benchmarks/jmp32a-lightsail-micro-2-tb-transfer-ca-central-1-benchmark)Skipped
- [Ohio Oct 12, 2026](https://rackcensus.com/benchmarks/h89a21-lightsail-micro-2-tb-transfer-us-east-2-benchmark)Skipped
- [Frankfurt Oct 8, 2026](https://rackcensus.com/benchmarks/jxqotk-lightsail-micro-2-tb-transfer-eu-central-1-benchmark)Skipped
- [Oregon Oct 8, 2026](https://rackcensus.com/benchmarks/is0cuo-lightsail-micro-2-tb-transfer-us-west-2-benchmark)Skipped

[Full history of this plan](https://rackcensus.com/plans/k4spwg-lightsail-micro-2-tb-transfer-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 | 10.9 GB/s | 3 | 0.622% |
| Scale higher is better | 12.6 GB/s | 3 | 0.959% |
| Add higher is better | 13.2 GB/s | 3 | 1.01% |
| Triad higher is better | 13.2 GB/s | 3 | 0.923% |

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 | 231/s | 3 | 0.558% |
| RSA 4096 verifies higher is better | 15,364/s | 3 | 0.0825% |
| SHA-256 higher is better | 258 MB/s | 3 | 0.162% |
| AES-256-GCM higher is better | 3.42 GB/s | 3 | 0.188% |
| ChaCha20-Poly1305 higher is better | 2.2 GB/s | 3 | 0.0694% |

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 | 7.72 ms | 3 | 0.12% |
| Requests per second, 90th percentile higher is better | 256/s | 3 | 0% |
| Request latency, 99.9th percentile lower is better | 23.8 ms | 3 | 66.4% |
| Requests per second, average higher is better | 252/s | 3 | 1.95% |

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

## Disk

| Block size | Read | Write | Total |
| --- | --- | --- | --- |
| 4K | 6.1 MB/s (1,549 IOPS) | 6 MB/s (1,548 IOPS) | 12.1 MB/s (3,097 IOPS) |
| 64K | 64.5 MB/s (1,031 IOPS) | 64.9 MB/s (1,037 IOPS) | 129.3 MB/s (2,068 IOPS) |
| 512K | 61.9 MB/s (123 IOPS) | 64.9 MB/s (129 IOPS) | 126.8 MB/s (252 IOPS) |
| 1M | 61.3 MB/s (61 IOPS) | 65.6 MB/s (65 IOPS) | 126.9 MB/s (126 IOPS) |

fio random read and write, 50/50, run by YABS against the boot disk.

## Network

iperf3 didn't report network results for this run.

## Datastores

### PostgreSQL

#### fsync speed (pg\_test\_fsync)

| Method | Operations per second | Time per operation |
| --- | --- | --- |
| One 8 kB write |
| --- |
| open\_datasync | 1,064 | 0.94 ms |
| fdatasync | 1,049 | 0.953 ms |
| fsync | 346 | 2.89 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 347 | 2.88 ms |
| Two 8 kB writes |
| --- |
| open\_datasync | 527 | 1.9 ms |
| fdatasync | 972 | 1.03 ms |
| fsync | 336 | 2.98 ms |
| fsync\_writethrough | Not supported here | n/a |
| open\_sync | 174 | 5.76 ms |
| open\_sync at different write sizes |
| --- |
| 1 \* 16kB open\_sync write | 340 | 2.94 ms |
| 2 \* 8kB open\_sync writes | 147 | 6.82 ms |
| 4 \* 4kB open\_sync writes | 82.4 | 12.1 ms |
| 8 \* 2kB open\_sync writes | 44.2 | 22.6 ms |
| 16 \* 1kB open\_sync writes | 21.7 | 46 ms |
| fsync on a non-write descriptor |
| --- |
| write, fsync, close | 345 | 2.9 ms |
| write, close, fsync | 345 | 2.9 ms |
| Non-synced 8 kB writes |
| --- |
| write | 997,983 | 0.001 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 | 648 | 1.44 ms | 2.13 ms | 2.66 ms | 10.8 ms | 0 |
| Read/write (TPC-B like) | 8 | 2,301 | 3.03 ms | 6.63 ms | 10.3 ms | 21.9 ms | 0 |
| Read/write (TPC-B like) | 32 | 2,786 | 8.23 ms | 30.6 ms | 53.3 ms | 106 ms | 0 |
| Read only | 1 | 16,942 | 0.054 ms | 0.072 ms | 0.115 ms | 0.255 ms | 0 |
| Read only | 8 | 36,386 | 0.191 ms | 0.379 ms | 0.498 ms | 0.771 ms | 0 |
| Read only | 32 | 31,235 | 0.768 ms | 1.48 ms | 2.31 ms | 3.91 ms | 0 |

Scale 10 (1,000,000 accounts), loaded in 2.29 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 | 383 | 2.71 ms | 3.27 ms | 4.78 ms | 9.8 ms | 0 |
| Read/write (TPC-B like) | 8 | 995 | 5.94 ms | 15.8 ms | 22.3 ms | 38.9 ms | 0 |
| Read/write (TPC-B like) | 32 | 1,061 | 26.4 ms | 46.8 ms | 69.7 ms | 285 ms | 0 |
| Read only | 1 | 917 | 1.23 ms | 1.64 ms | 4.62 ms | 6.11 ms | 0 |
| Read only | 8 | 1,623 | 5.08 ms | 9.78 ms | 12 ms | 15.5 ms | 0 |
| Read only | 32 | 1,748 | 19.6 ms | 30.3 ms | 39.5 ms | 514 ms | 0 |

Scale 100 (10,000,000 accounts), loaded in 49.9 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 | 123 | 2,458 | 7.43 ms | 11.4 ms | 23.9 ms | 0 |
| Read/write | 8 | 463 | 9,262 | 14 ms | 45 ms | 69.3 ms | 0 |
| Read/write | 32 | 654 | 13,071 | 48.3 ms | 74.5 ms | 95.8 ms | 0 |
| Read only | 1 | 611 | 9,782 | 1.52 ms | 2.31 ms | 3.19 ms | 0 |
| Read only | 8 | 1,190 | 19,040 | 6.67 ms | 9.91 ms | 11.7 ms | 0 |
| Read only | 32 | 1,104 | 17,670 | 27.7 ms | 55.8 ms | 63.3 ms | 0 |

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

### Redis

#### memtier

| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
| --- | --- | --- | --- | --- | --- |
| 1:10 set:get | 51,650 | 46,954 | 0.735 ms | 3.6 ms | 9.22 ms |
| 1:1 set:get | 50,783 | 25,391 | 0.727 ms | 3.47 ms | 6.24 ms |

1,000,000 keys of 32 bytes. 64 connections over 2 threads, 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 | 210 | 1,028 | 1,378 | 3.55 s |
| Express express-postgresjs | 7,778 | 8,485 | 12,789 | 954 ms |
| Fastify fastify-postgres | 7,880 | 10,130 | 14,916 | 231 ms |
| NestJS nestjs | 527 | 741 | 5,397 | 1.37 s |
| Nuxt nuxt | 5,112 | 7,720 | 13,791 | 1.52 s |
| FastAPI fastapi | 2,186 | 2,733 | 9,421 | 253 ms |
| Django django-postgresql | 1,085 | 1,288 | 3,005 | 322 ms |
| Rails rails | 1,212 | 1,585 | 6,192 | 591 ms |
| Laravel laravel | 36.6 | 464 | 905 | 7.03 s |
| Symfony symfony | 46 | 49.2 | 150 | 5.59 s |

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.

## Web apps

### WooCommerce

#### Page mix

Failed: k6 summary at 32 virtual users didn't parse: k6 recorded no requests for step category

#### Cart and checkout

Failed: woo-db stopped before it was ready: 0:18:29 0 [Note] mariadbd: Event Scheduler: Loaded 0 events 2026-10-15 0:18:29 0 [Note] Replication not automatically started: --skip-slave-start was specified 2026-10-15 0:18:29 0 [Note] mariadbd: ready for connections. Version: '12.3.3-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution 2026-10-15 00:18:29+00:00 [ERROR] [Entrypoint]: Unable to start server.

### Discourse

#### Signed in

Skipped: discourse-setup refuses boxes with less than 1 GB of memory, this one has 909 MB

#### Anonymous

Skipped: discourse-setup refuses boxes with less than 1 GB of memory, this one has 909 MB

### Ghost

#### Readers

Failed: k6 summary at 4 virtual users didn't parse: k6 recorded no requests for step home

#### Staff in Ghost Admin

Failed: k6 summary at 4 virtual users didn't parse: k6 recorded no requests for step author

### Wagtail

#### Visitors

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Home page | 0.178 | 719 ms | 1.38 s | 1.74 s | 0% |
| Blog index | 0.178 | 2.57 s | 2.76 s | 2.81 s | 0% |
| Blog post | 0.501 | 234 ms | 363 ms | 459 ms | 0% |
| Bread page | 0.517 | 241 ms | 508 ms | 778 ms | 0% |
| Location page | 0.178 | 240 ms | 244 ms | 244 ms | 0% |
| Site search | 0.161 | 398 ms | 568 ms | 629 ms | 0% |
| 4 virtual users |
| --- |
| Home page | 0.145 | 3.6 s | 4.01 s | 4.06 s | 0% |
| Blog index | 0.161 | 14 s | 15.8 s | 15.8 s | 0% |
| Blog post | 0.419 | 958 ms | 1.76 s | 2.06 s | 0% |
| Bread page | 0.451 | 959 ms | 1.6 s | 1.65 s | 0% |
| Location page | 0.161 | 957 ms | 2.11 s | 2.65 s | 0% |
| Site search | 0.129 | 1.8 s | 2.45 s | 2.47 s | 0% |
| 16 virtual users |
| --- |
| Home page | 0.0847 | 10.9 s | 16 s | 16.9 s | 0% |
| Blog index | 0.169 | 30.2 s | 36.6 s | 37.7 s | 0% |
| Blog post | 0.367 | 7.16 s | 10.3 s | 10.8 s | 0% |
| Bread page | 0.409 | 7.21 s | 11.6 s | 12.2 s | 0% |
| Location page | 0.169 | 7.17 s | 11.8 s | 11.8 s | 0% |
| Site search | 0.127 | 8.56 s | 11 s | 11 s | 0% |

#### Editors in the Wagtail admin

| Step | Requests/s | Median | p95 | p99 | Error rate |
| --- | --- | --- | --- | --- | --- |
| 1 virtual user |
| --- |
| Admin dashboard | 0.0608 | 757 ms | 935 ms | 955 ms | 0% |
| Page explorer | 0.122 | 2.72 s | 3.7 s | 3.74 s | 0% |
| Page editor | 0.183 | 1.32 s | 2.3 s | 2.9 s | 0% |
| Image library | 0.0608 | 597 ms | 6.24 s | 7.03 s | 0% |
| Admin page search | 0.0608 | 518 ms | 634 ms | 645 ms | 0% |
| 4 virtual users |
| --- |
| Admin dashboard | 0.044 | 5.44 s | 5.73 s | 5.75 s | 0% |
| Page explorer | 0.0879 | 13.2 s | 15.1 s | 15.1 s | 0% |
| Page editor | 0.147 | 4.96 s | 8.05 s | 8.6 s | 0% |
| Image library | 0.044 | 4.8 s | 5.59 s | 5.66 s | 0% |
| Admin page search | 0.044 | 1.28 s | 2.94 s | 3.09 s | 0% |

k6 with a fixed number of virtual users, 62 to 71 s per level, after a 23 s warmup. The error rate counts responses that weren't a 200. Wagtail ran the way bakerydemo ships it: uWSGI with 2 workers of 4 threads each, whatever the box, and Postgres and Redis on stock settings. Memory peaked with Wagtail at 319 MB, Postgres at 171 MB, and Redis at 26 MB.

## Advertised vs. measured

| Spec | Advertised | Measured |
| --- | --- | --- |
| vCPU | 2 | 2 |
| CPU | Shared vCPU | 31.2% of busy CPU time stolen |
| RAM | 1 GB | 910 MiB |
| Storage | 40 GB SSD | 38.7 GiB |
| Architecture | x86\_64 | x86\_64 |
| Virtualization | KVM | AMAZON |

Guests usually report slightly less RAM and disk than advertised because of kernel reservations and filesystem overhead.

## Detected hardware

**CPU model:** Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz

**CPU cores:** 2

**CPU frequency:** 2500 MHz

**AES-NI:** Yes

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

**RAM reported:** 910 MiB

**Swap reported:** 0 MiB

**Disk reported:** 38.7 GiB

**Virtualization reported:** AMAZON

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

**Distro:** Ubuntu 24.04.4 LTS

**Kernel:** 7.0.0-1012-aws

**Architecture:** x86\_64

**IPv4 reachable:** Yes

**IPv6 reachable:** Yes

## Advertised at test time

**Plan:** Micro, 2 TB transfer

**Product line:** General Purpose

**Location:** Virginia

**vCPU:** 2 shared vCPU

**Architecture:** x86\_64

**RAM:** 1 GB

**Storage:** 40 GB SSD

**Virtualization:** KVM

**Network:** Unknown

**Transfer:** 2.05 TB

**Port 25:** On request

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

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

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

**Ran at:** Oct 14, 2026, 23:04:41 UTC

**Parser version:** 5

## Run timeline

**Queued:** Oct 14, 2026, 23:04:00 UTC

**First update from the server:** Oct 14, 2026, 23:04:24 UTC

**Completed:** Oct 15, 2026, 00:46:57 UTC

**Server deleted:** Oct 15, 2026, 00:46:57 UTC

**Cost of this run:** $0.016

Tests 30 of 34 done Live output 700 lines

Setup 2 cores, 909.5 MiB RAM 4 of 4Done

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

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

Datastores 5 of 5Done

Web frameworks 10 of 10Done

Web apps 4 failed, 2 skipped 2 of 6Some failed

TestResultTime

WooCommerce page mix 32 vus Stopped k6 summary at 32 virtual users didn't parse: k6 recorded no requests for step category 6m 47s

WooCommerce cart flow start Stopped woo-db stopped before it was ready: 0:18:29 0 [Note] mariadbd: Event Scheduler: Loaded 0 events 2026-10-15 0:18:29 0 [Note] Replication not automatically started: --skip-slave-start was specified 2026-10-15 0:18:29 0 [Note] mariadbd: ready for connections. Version: '12.3.3-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution 2026-10-15 00:18:29+00:00 [ERROR] [Entrypoint]: Unable to start server. 48s

Discourse, signed in Discourse Not run discourse-setup refuses boxes with less than 1 GB of memory, this one has 909 MB

Discourse, anonymous Discourse Not run discourse-setup refuses boxes with less than 1 GB of memory, this one has 909 MB

Ghost, readers warmup Stopped k6 summary at 4 virtual users didn't parse: k6 recorded no requests for step home 14m 05s

Ghost, staff in Ghost Admin warmup Stopped k6 summary at 4 virtual users didn't parse: k6 recorded no requests for step author 4m 37s

Wagtail, visitors 16 vus 1.33 req/s rps, 16 vus 7m 11s

Wagtail, editors in the Wagtail admin 4 vus 0.37 req/s rps, 4 vus 2m 26s

Finish Results saved 1 of 1Done

Watch party 0 watching

This party closed at 01:46 UTC. It's read only now.

## Watch party

Loading the party
