Skip to main content

Amazon Lightsail Micro, 2 TB transfer

Montreal

Benchmark complete
Finished Oct 13, 2026
Geekbench 7 single-core
Skipped
Geekbench 7 multi-core
Skipped
Disk 4K IOPS
3,093
fio random read and write, 50/50
Monthly price at test time
$7.00
Same price today

Server

  • Provider
    Amazon Lightsail
  • Plan
    Micro, 2 TB transfer
  • Location
    Montreal
  • vCPU
    2
  • RAM
    1 GB
  • Storage
    40 GB SSD
  • Network
    Unknown
  • OS image
    ubuntu_24_04
  • Trigger
    Scheduled
  • Queued at
    Oct 13, 2026, 09:54:00 UTC

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 11.1 GB/s 3 0.204%
Scale higher is better 13 GB/s 3 0.201%
Add higher is better 13.5 GB/s 3 0.377%
Triad higher is better 13.4 GB/s 3 0.476%

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 234/s 3 0.0891%
RSA 4096 verifies higher is better 15,328/s 3 0.106%
SHA-256 higher is better 258 MB/s 3 0.18%
AES-256-GCM higher is better 3.41 GB/s 3 0.079%
ChaCha20-Poly1305 higher is better 2.2 GB/s 3 0.317%

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 255/s 3 0.227%
Request latency, 99.9th percentile lower is better 15.2 ms 3 0.53%
Requests per second, average higher is better 254/s 3 0.166%

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

Disk

Block size Read Write Total
4K 6 MB/s (1,547 IOPS) 6 MB/s (1,546 IOPS) 12.1 MB/s (3,093 IOPS)
64K 64.5 MB/s (1,031 IOPS) 64.9 MB/s (1,038 IOPS) 129.4 MB/s (2,069 IOPS)
512K 62 MB/s (123 IOPS) 64.9 MB/s (129 IOPS) 126.9 MB/s (252 IOPS)
1M 61.3 MB/s (61 IOPS) 65.7 MB/s (65 IOPS) 127.1 MB/s (126 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.33 Gbps 1.01 Gbps
Eranium, Amsterdam, NL (100G) IPv4 790 Mbps 3.07 Gbps
Leaseweb, Singapore, SG (10G) IPv4 745 Mbps 1.11 Gbps
Clouvider, Los Angeles, CA, US (10G) IPv4 782 Mbps 1.67 Gbps
Leaseweb, NYC, NY, US (10G) IPv4 3.54 Gbps 4.1 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 1,245 0.803 ms
fdatasync 1,057 0.946 ms
fsync 348 2.87 ms
fsync_writethrough Not supported here n/a
open_sync 349 2.86 ms
Two 8 kB writes
open_datasync 533 1.88 ms
fdatasync 982 1.02 ms
fsync 340 2.94 ms
fsync_writethrough Not supported here n/a
open_sync 175 5.71 ms
open_sync at different write sizes
1 * 16kB open_sync write 341 2.93 ms
2 * 8kB open_sync writes 176 5.69 ms
4 * 4kB open_sync writes 88.7 11.3 ms
8 * 2kB open_sync writes 44.4 22.5 ms
16 * 1kB open_sync writes 22.2 45.1 ms
fsync on a non-write descriptor
write, fsync, close 349 2.87 ms
write, close, fsync 349 2.87 ms
Non-synced 8 kB writes
write 1,066,587 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 656 1.51 ms 1.73 ms 2.25 ms 2.61 ms 0
Read/write (TPC-B like) 8 2,412 2.95 ms 6.24 ms 8.89 ms 13.6 ms 0
Read/write (TPC-B like) 32 3,039 7.65 ms 28.7 ms 49.2 ms 82.4 ms 0
Read only 1 13,440 0.071 ms 0.092 ms 0.109 ms 0.173 ms 0
Read only 8 37,308 0.188 ms 0.381 ms 0.495 ms 0.685 ms 0
Read only 32 35,580 0.57 ms 1.41 ms 2.47 ms 3.83 ms 0

Scale 10 (1,000,000 accounts), loaded in 2.62 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 385 2.77 ms 3.16 ms 3.81 ms 7.8 ms 0
Read/write (TPC-B like) 8 995 5.97 ms 15.7 ms 20 ms 32.4 ms 0
Read/write (TPC-B like) 32 1,050 26.7 ms 47.5 ms 64.4 ms 1.1 s 0
Read only 1 941 1.3 ms 1.48 ms 2.23 ms 5.41 ms 0
Read only 8 1,606 5.18 ms 9.91 ms 11.7 ms 14.7 ms 0
Read only 32 1,728 20 ms 29.7 ms 35.7 ms 209 ms 0

Scale 100 (10,000,000 accounts), loaded in 49.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

Failed: sysbench prepare output didn't parse: sysbench prepare did not fill every table it created

Redis

memtier

Mix Operations/s Hits/s Median p99 p99.9
1:10 set:get 58,355 53,050 0.943 ms 2.66 ms 4.26 ms
1:1 set:get 57,106 28,553 0.959 ms 2.7 ms 4.9 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 94.9 721 1,244 7.61 s
Express express-postgresjs 7,338 8,099 11,195 1.27 s
Fastify fastify-postgres 7,336 10,278 13,276 1.16 s
NestJS nestjs 548 727 5,523 1.62 s
Nuxt nuxt 4,827 6,979 11,136 1.89 s
FastAPI fastapi 1,582 1,976 9,020 170 ms
Django django-postgresql 1,142 1,336 3,068 291 ms
Rails rails 1,175 1,524 5,962 240 ms
Laravel laravel 488 556 991 591 ms
Symfony symfony 582 620 1,838 574 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

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

Cart and checkout

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

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 home

Wagtail

Visitors

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 0.18 713 ms 1.25 s 1.34 s 0%
Blog index 0.18 2.47 s 2.8 s 3 s 0%
Blog post 0.524 234 ms 516 ms 694 ms 0%
Bread page 0.524 238 ms 316 ms 598 ms 0%
Location page 0.18 237 ms 277 ms 303 ms 0%
Site search 0.164 364 ms 783 ms 921 ms 0%
4 virtual users
Home page 0.146 3.4 s 4.39 s 4.65 s 0%
Blog index 0.175 12 s 14.6 s 14.9 s 0%
Blog post 0.423 1.04 s 1.6 s 1.66 s 0%
Bread page 0.453 1.12 s 1.68 s 1.81 s 0%
Location page 0.175 1.04 s 1.42 s 1.48 s 0%
Site search 0.131 1.92 s 2.77 s 2.92 s 0%
16 virtual users
Home page 0.113 10.8 s 14.8 s 15 s 0%
Blog index 0.155 29.4 s 34 s 34.1 s 0%
Blog post 0.395 6.88 s 9.99 s 10.1 s 0%
Bread page 0.438 6.8 s 11.2 s 12 s 0%
Location page 0.169 6.64 s 10.9 s 11.1 s 0%
Site search 0.127 7.84 s 8.85 s 9 s 0%

Editors in the Wagtail admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Admin dashboard 0.0603 801 ms 947 ms 955 ms 0%
Page explorer 0.136 2.63 s 3.26 s 3.47 s 0%
Page editor 0.181 1.23 s 2.39 s 2.46 s 0%
Image library 0.0603 599 ms 6.76 s 7.62 s 0%
Admin page search 0.0603 237 ms 248 ms 250 ms 0%
4 virtual users
Admin dashboard 0.0291 3.43 s 4.66 s 4.77 s 0%
Page explorer 0.0874 12 s 16 s 16.1 s 0%
Page editor 0.131 6.49 s 8.45 s 8.48 s 0%
Image library 0.0437 3.76 s 5.71 s 5.88 s 0%
Admin page search 0.0437 1.93 s 2.72 s 2.79 s 0%

k6 with a fixed number of virtual users, 61 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 294 MB, Postgres at 175 MB, and Redis at 24 MB.

Advertised vs. measured

Spec Advertised Measured
vCPU 2 2
CPU Shared vCPU 1.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 8175M 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
1.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
Montreal
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 13, 2026, 09:54:40 UTC
Parser version
5

Run timeline

Queued
Oct 13, 2026, 09:54:00 UTC
First update from the server
Oct 13, 2026, 09:54:33 UTC
Completed
Oct 13, 2026, 11:32:36 UTC
Server deleted
Oct 13, 2026, 11:32:36 UTC
Cost of this run
$0.015
TestResultTime
TestResultTime
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
Watch party 0 watching

This party closed at . It's read only now.

Watch party

Loading the party