Togglebox 1 vCPU / 1 GB / 20 GB
Server
-
ProviderTogglebox
-
Plan1 vCPU / 1 GB / 20 GB
-
LocationDallas
-
vCPU1
-
RAM1 GB
-
Storage20 GB NVMe
-
Network1 Gbps
-
OS imageUbuntu 24.04
-
TriggerScheduled
-
Queued atOct 14, 2026, 05: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 | 10.5 GB/s | 3 | 0.503% |
| Scale higher is better | 11.7 GB/s | 3 | 0.259% |
| Add higher is better | 13.5 GB/s | 3 | 0.176% |
| Triad higher is better | 13.5 GB/s | 3 | 0.206% |
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 | 227/s | 3 | 1.34% |
| RSA 4096 verifies higher is better | 14,718/s | 3 | 0.352% |
| SHA-256 higher is better | 258 MB/s | 3 | 0.303% |
| AES-256-GCM higher is better | 3.45 GB/s | 3 | 0.0869% |
| ChaCha20-Poly1305 higher is better | 1.62 GB/s | 3 | 0.974% |
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.06 ms | 3 | 0.114% |
| Requests per second, 90th percentile higher is better | 243/s | 3 | 0% |
| Request latency, 99.9th percentile lower is better | 7.86 ms | 3 | 1.58% |
| Requests per second, average higher is better | 243/s | 3 | 0.258% |
Average of 3 runs. Spread is the standard deviation as a share of the average.
Disk
| Block size | Read | Write | Total |
|---|---|---|---|
| 4K | 258.7 MB/s (66,236 IOPS) | 259.4 MB/s (66,411 IOPS) | 518.2 MB/s (132,647 IOPS) |
| 64K | 1.49 GB/s (24,407 IOPS) | 1.5 GB/s (24,536 IOPS) | 2.99 GB/s (48,943 IOPS) |
| 512K | 1.36 GB/s (2,786 IOPS) | 1.43 GB/s (2,934 IOPS) | 2.79 GB/s (5,720 IOPS) |
| 1M | 1.28 GB/s (1,309 IOPS) | 1.36 GB/s (1,396 IOPS) | 2.64 GB/s (2,705 IOPS) |
fio random read and write, 50/50, run by YABS against the boot disk.
Network
IPv4 transfer speed
| Target | Protocol | Send | Receive |
|---|---|---|---|
| Clouvider, London, UK (10G) | IPv4 | 1.41 Gbps | 758 Mbps |
| Eranium, Amsterdam, NL (100G) | IPv4 | 1.41 Gbps | 1.37 Gbps |
| Leaseweb, Singapore, SG (10G) | IPv4 | 1.03 Gbps | 1.07 Gbps |
| Clouvider, Los Angeles, CA, US (10G) | IPv4 | 1.44 Gbps | 1.43 Gbps |
| Leaseweb, NYC, NY, US (10G) | IPv4 | 1.44 Gbps | 1.43 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,692 | 0.591 ms |
| fdatasync | 1,501 | 0.666 ms |
| fsync | 473 | 2.12 ms |
| fsync_writethrough | Not supported here | n/a |
| open_sync | 561 | 1.78 ms |
| Two 8 kB writes | ||
| open_datasync | 859 | 1.16 ms |
| fdatasync | 2,064 | 0.485 ms |
| fsync | 948 | 1.06 ms |
| fsync_writethrough | Not supported here | n/a |
| open_sync | 683 | 1.46 ms |
| open_sync at different write sizes | ||
| 1 * 16kB open_sync write | 1,129 | 0.886 ms |
| 2 * 8kB open_sync writes | 697 | 1.43 ms |
| 4 * 4kB open_sync writes | 465 | 2.15 ms |
| 8 * 2kB open_sync writes | 195 | 5.13 ms |
| 16 * 1kB open_sync writes | 89.9 | 11.1 ms |
| fsync on a non-write descriptor | ||
| write, fsync, close | 2,261 | 0.442 ms |
| write, close, fsync | 2,343 | 0.427 ms |
| Non-synced 8 kB writes | ||
| write | 834,676 | 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 | 1,789 | 0.489 ms | 0.941 ms | 1.94 ms | 4.32 ms | 0 |
| Read/write (TPC-B like) | 8 | 2,526 | 2.85 ms | 5.15 ms | 7.48 ms | 15.6 ms | 0 |
| Read/write (TPC-B like) | 32 | 2,416 | 11 ms | 27.7 ms | 44.1 ms | 76.4 ms | 0 |
| Read only | 1 | 30,178 | 0.031 ms | 0.045 ms | 0.056 ms | 0.166 ms | 0 |
| Read only | 8 | 25,553 | 0.276 ms | 0.495 ms | 0.563 ms | 1.33 ms | 0 |
| Read only | 32 | 24,516 | 1.18 ms | 1.31 ms | 1.66 ms | 2.96 ms | 0 |
Scale 10 (1,000,000 accounts), loaded in 2.06 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 | 1,134 | 0.807 ms | 1.47 ms | 2.45 ms | 4.58 ms | 0 |
| Read/write (TPC-B like) | 8 | 2,015 | 3.62 ms | 6.31 ms | 9.45 ms | 22.3 ms | 0 |
| Read/write (TPC-B like) | 32 | 2,241 | 13.5 ms | 19.2 ms | 24.5 ms | 37.2 ms | 0 |
| Read only | 1 | 3,716 | 0.255 ms | 0.464 ms | 1.02 ms | 1.68 ms | 0 |
| Read only | 8 | 8,641 | 0.872 ms | 1.46 ms | 2.25 ms | 3.9 ms | 0 |
| Read only | 32 | 9,082 | 3.08 ms | 5.63 ms | 6.92 ms | 23.5 ms | 0 |
Scale 100 (10,000,000 accounts), loaded in 19.1 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 | 258 | 5,160 | 3.3 ms | 7.04 ms | 12.1 ms | 0 |
| Read/write | 8 | 441 | 8,816 | 17 ms | 27.2 ms | 38.2 ms | 0 |
| Read/write | 32 | 445 | 8,907 | 68.1 ms | 111 ms | 145 ms | 0 |
| Read only | 1 | 981 | 15,691 | 0.989 ms | 1.18 ms | 1.93 ms | 0 |
| Read only | 8 | 868 | 13,892 | 9.06 ms | 10.8 ms | 13.7 ms | 0 |
| Read only | 32 | 751 | 12,015 | 41.9 ms | 51.9 ms | 60 ms | 0 |
10 tables of 100,000 rows, loaded in 16.6 s. 60 s per run, one connection per thread.
Redis
memtier
| Mix | Operations/s | Hits/s | Median | p99 | p99.9 |
|---|---|---|---|---|---|
| 1:10 set:get | 42,848 | 38,952 | 1.5 ms | 2.83 ms | 5.98 ms |
| 1:1 set:get | 42,266 | 21,133 | 1.5 ms | 2.86 ms | 6.02 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 | 171 | 696 | 1,016 | 3.92 s |
| Express express-postgresjs | 6,924 | 7,449 | 12,413 | 1.55 s |
| Fastify fastify-postgres | 7,379 | 9,644 | 15,418 | 1.43 s |
| NestJS nestjs | 1,871 | 2,049 | 7,996 | 219 ms |
| Nuxt nuxt | 5,117 | 8,307 | 15,241 | 1.88 s |
| FastAPI fastapi | 1,407 | 1,783 | 9,289 | 539 ms |
| Django django-postgresql | 795 | 890 | 1,913 | 375 ms |
| Rails rails | 1,134 | 1,619 | 6,591 | 366 ms |
| Laravel laravel | 360 | 394 | 637 | 888 ms |
| Symfony symfony | 438 | 477 | 1,152 | 712 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.
Web apps
WooCommerce
Page mix
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 8 virtual users | |||||
| Home page | 1.02 | 1.44 s | 1.71 s | 1.74 s | 0% |
| Shop page | 1.02 | 1.86 s | 2.13 s | 2.17 s | 0% |
| Category page | 1.02 | 1.67 s | 1.95 s | 2 s | 0% |
| Product page | 1.02 | 1.42 s | 1.64 s | 1.67 s | 0% |
| Product search | 1.02 | 1.3 s | 1.42 s | 1.51 s | 0% |
| 32 virtual users | |||||
| Home page | 1.32 | 5.37 s | 5.86 s | 5.95 s | 0% |
| Shop page | 1.12 | 6.82 s | 7.89 s | 8 s | 0% |
| Category page | 0.905 | 6.66 s | 7.78 s | 7.86 s | 0% |
| Product page | 0.905 | 5.62 s | 5.74 s | 5.82 s | 0% |
| Product search | 0.905 | 5.29 s | 5.59 s | 5.67 s | 0% |
Cart and checkout
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 8 virtual users | |||||
| Add to cart | 1.89 | 1.37 s | 1.6 s | 1.64 s | 0% |
| Cart | 1.89 | 1.42 s | 1.53 s | 1.56 s | 0% |
| Checkout | 1.89 | 1.14 s | 1.25 s | 1.27 s | 0% |
| 32 virtual users | |||||
| Add to cart | 2.07 | 4.89 s | 6.18 s | 6.28 s | 0% |
| Cart | 2.07 | 5.63 s | 6.17 s | 6.24 s | 0% |
| Checkout | 2.04 | 4.45 s | 5.1 s | 5.18 s | 0% |
k6 with a fixed number of virtual users, 62 to 71 s per level. The error rate counts responses that weren't a 200.
Discourse
Signed in
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 1 virtual user | |||||
| Topic page | 1.32 | 257 ms | 606 ms | 2.11 s | 0% |
| Topic JSON | 0.668 | 128 ms | 207 ms | 339 ms | 0% |
| Home page | 0.668 | 233 ms | 914 ms | 1.75 s | 0% |
| Categories page | 0.342 | 269 ms | 344 ms | 421 ms | 0% |
| User activity page | 0.326 | 159 ms | 181 ms | 200 ms | 0% |
| 4 virtual users | |||||
| Topic page | 1.15 | 1.24 s | 2.07 s | 7.66 s | 0% |
| Topic JSON | 0.583 | 929 ms | 1.56 s | 2 s | 0% |
| Home page | 0.55 | 1.21 s | 2.26 s | 3.5 s | 0% |
| Categories page | 0.307 | 1.42 s | 2.16 s | 2.53 s | 0% |
| User activity page | 0.275 | 1.02 s | 1.68 s | 1.8 s | 0% |
| 16 virtual users | |||||
| Topic page | 1.05 | 1.81 s | 2.2 s | 3.58 s | 0% |
| Topic JSON | 0.507 | 1.47 s | 1.84 s | 1.88 s | 0% |
| Home page | 0.507 | 1.76 s | 2.62 s | 2.9 s | 0% |
| Categories page | 0.269 | 1.81 s | 2.22 s | 2.48 s | 0% |
| User activity page | 0.253 | 1.54 s | 4.79 s | 6.75 s | 0% |
Anonymous
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 16 virtual users | |||||
| Topic page | 19.3 | 252 ms | 574 ms | 872 ms | 1.67% |
| Topic JSON | 9.66 | 258 ms | 596 ms | 902 ms | 2.67% |
| Home page | 9.66 | 249 ms | 517 ms | 826 ms | 2.17% |
| Categories page | 4.84 | 257 ms | 682 ms | 862 ms | 2.33% |
| User activity page | 4.84 | 394 ms | 962 ms | 2.16 s | 1.99% |
k6 with a fixed number of virtual users, 61 to 63 s per level, after a 25 s warmup. The error rate counts responses that weren't a 200. Discourse ran with 2 app workers and 128 MB of Postgres shared buffers, what its installer picks for a 1 GB box. It added a 2 GB swapfile first, the way its installer does, and used up to 1,014 MB of it. The container peaked at 719 MB.
Ghost
Readers
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 1 virtual user | |||||
| Home page | 5.6 | 45.8 ms | 72.6 ms | 204 ms | 0% |
| Post page | 14 | 23.5 ms | 42.1 ms | 121 ms | 0% |
| Tag page | 2.79 | 33.7 ms | 47.4 ms | 57.2 ms | 0% |
| Author page | 2.79 | 32.7 ms | 50.9 ms | 95 ms | 0% |
| RSS feed | 2.79 | 38.2 ms | 60.4 ms | 142 ms | 0% |
| 4 virtual users | |||||
| Home page | 5.39 | 181 ms | 366 ms | 430 ms | 0% |
| Post page | 13.5 | 122 ms | 278 ms | 341 ms | 0% |
| Tag page | 2.71 | 118 ms | 267 ms | 322 ms | 0% |
| Author page | 2.71 | 120 ms | 299 ms | 338 ms | 0% |
| RSS feed | 2.67 | 132 ms | 249 ms | 349 ms | 0% |
| 16 virtual users | |||||
| Home page | 4.94 | 805 ms | 1.06 s | 1.35 s | 0% |
| Post page | 12.3 | 648 ms | 919 ms | 1.16 s | 0% |
| Tag page | 2.46 | 414 ms | 688 ms | 784 ms | 0% |
| Author page | 2.43 | 421 ms | 703 ms | 1.02 s | 0% |
| RSS feed | 2.43 | 419 ms | 694 ms | 961 ms | 0% |
Staff in Ghost Admin
Failed: k6 summary at 1 virtual users didn't parse: k6 recorded no requests for step admin_posts
k6 with a fixed number of virtual users, 60 s per level, after a 20 s warmup. The error rate counts responses that weren't a 200. Ghost ran the way its ghost-docker setup runs it: one Node process, and MySQL with its stock 128 MB buffer pool. Memory peaked with Ghost at 200 MB and MySQL at 525 MB.
Wagtail
Visitors
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 1 virtual user | |||||
| Home page | 1.51 | 85.5 ms | 101 ms | 164 ms | 0% |
| Blog index | 1.5 | 303 ms | 317 ms | 343 ms | 0% |
| Blog post | 4.49 | 28 ms | 42.7 ms | 49.7 ms | 0% |
| Bread page | 4.51 | 30.6 ms | 35.2 ms | 39.5 ms | 0% |
| Location page | 1.5 | 29.1 ms | 32.9 ms | 35.3 ms | 0% |
| Site search | 1.5 | 44.7 ms | 81.1 ms | 98.4 ms | 0% |
| 4 virtual users | |||||
| Home page | 1.4 | 402 ms | 463 ms | 486 ms | 0% |
| Blog index | 1.45 | 1.3 s | 1.45 s | 1.81 s | 0% |
| Blog post | 4.2 | 112 ms | 191 ms | 222 ms | 0% |
| Bread page | 4.25 | 126 ms | 158 ms | 194 ms | 0% |
| Location page | 1.45 | 119 ms | 160 ms | 184 ms | 0% |
| Site search | 1.38 | 190 ms | 338 ms | 516 ms | 0% |
| 16 virtual users | |||||
| Home page | 1.3 | 1.4 s | 1.78 s | 2.35 s | 0% |
| Blog index | 1.35 | 3.37 s | 4.31 s | 4.66 s | 0% |
| Blog post | 3.94 | 782 ms | 1.31 s | 1.69 s | 0% |
| Bread page | 3.92 | 827 ms | 1.42 s | 1.73 s | 0% |
| Location page | 1.35 | 800 ms | 1.32 s | 1.71 s | 0% |
| Site search | 1.29 | 987 ms | 1.47 s | 1.97 s | 0% |
Editors in the Wagtail admin
| Step | Requests/s | Median | p95 | p99 | Error rate |
|---|---|---|---|---|---|
| 1 virtual user | |||||
| Admin dashboard | 0.607 | 89.5 ms | 105 ms | 125 ms | 0% |
| Page explorer | 1.25 | 378 ms | 502 ms | 539 ms | 0% |
| Page editor | 1.87 | 174 ms | 219 ms | 330 ms | 0% |
| Image library | 0.623 | 69.2 ms | 128 ms | 827 ms | 0% |
| Admin page search | 0.607 | 42.9 ms | 80.1 ms | 82.2 ms | 0% |
| 4 virtual users | |||||
| Admin dashboard | 0.555 | 442 ms | 654 ms | 729 ms | 0% |
| Page explorer | 1.13 | 1.69 s | 2.04 s | 2.23 s | 0% |
| Page editor | 1.7 | 797 ms | 1.14 s | 1.41 s | 0% |
| Image library | 0.555 | 426 ms | 610 ms | 700 ms | 0% |
| Admin page search | 0.555 | 186 ms | 424 ms | 566 ms | 0% |
k6 with a fixed number of virtual users, 60 to 61 s per level, after a 21 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 308 MB, Postgres at 177 MB, and Redis at 25 MB.
Advertised vs. measured
| Spec | Advertised | Measured |
|---|---|---|
| vCPU | 1 | 1 |
| CPU | Shared vCPU | 0% of busy CPU time stolen |
| RAM | 1 GB | 962 MiB |
| Storage | 20 GB NVMe | 19.3 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
- Intel Core Processor (Broadwell, no TSX, IBRS)
- CPU cores
- 1
- CPU frequency
- 2500 MHz
- AES-NI
- Yes
- VM-x/AMD-V
- Yes
- RAM reported
- 962 MiB
- Swap reported
- 0 MiB
- Disk reported
- 19.3 GiB
- Virtualization reported
- KVM
- CPU steal
- 0% of busy CPU time stolen
- Distro
- Ubuntu 24.04.3 LTS
- Kernel
- 6.8.0-88-generic
- Architecture
- x86_64
- IPv4 reachable
- Yes
- IPv6 reachable
- No
Advertised at test time
- Plan
- 1 vCPU / 1 GB / 20 GB
- Product line
- Cloud VPS
- Location
- Dallas
- vCPU
- 1 shared vCPU
- Architecture
- x86_64
- RAM
- 1 GB
- Storage
- 20 GB NVMe
- Virtualization
- KVM
- Network
- 1 Gbps
- Transfer
- 10 TB
- Port 25
- On request
- Monthly price at test time
- $8.44
- Hourly price at test time
- $0.013
- YABS version
- v2026-09-20
- Ran at
- Oct 14, 2026, 05:56:00 UTC
- Parser version
- 5
Run timeline
- Queued
- Oct 14, 2026, 05:54:00 UTC
- Server created
- Oct 14, 2026, 05:54:51 UTC
- First update from the server
- Oct 14, 2026, 05:54:51 UTC
- Completed
- Oct 14, 2026, 07:26:00 UTC
- Server deleted
- Oct 14, 2026, 07:26:00 UTC
- Cost of this run
- $0.019
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading details
Loading output.
This party closed at . It's read only now.
Reconnecting. Hang tight.