Skip to main content

Togglebox 2 vCPU / 2 GB / 40 GB

Dallas

Benchmark complete
Finished Oct 13, 2026
Geekbench 7 single-core
1,024
Faster than 49% of 2 vCPU plans
Geekbench 7 multi-core
Skipped
Disk 4K IOPS
194,288
fio random read and write, 50/50
Monthly price at test time
$16.89
Same price today

Server

  • Provider
    Togglebox
  • Plan
    2 vCPU / 2 GB / 40 GB
  • Location
    Dallas
  • vCPU
    2
  • RAM
    2 GB
  • Storage
    40 GB NVMe
  • Network
    1 Gbps
  • OS image
    Ubuntu 24.04
  • Trigger
    Scheduled
  • Queued at
    Oct 12, 2026, 22:48:00 UTC

CPU

Version Single-core Multi-core Result link
Geekbench 7 1,024 Skipped Geekbench Browser

Multi-core was skipped because Geekbench 7 needs about 3.1 GB of free memory to run 2 threads, and this server didn't have that much. Single-core needs much less, so it still ran.

Scores from different Geekbench versions aren't comparable with each other. Charts only use Geekbench 7.

Geekbench 7 workloads

Workload Single-core Multi-core
File Compression
1,032
94th of 129
Single-core only
Navigation
1,326
60th of 129
Single-core only
HTML5 Browser
1,017
84th of 129
Single-core only
PDF Viewer
1,131
82nd of 129
Single-core only
Photo Library
838
93rd of 129
Single-core only
Clang
1,112
71st of 129
Single-core only
Text Processing
1,057
76th of 129
Single-core only
Asset Compression
821
109th of 129
Single-core only
HDR
939
83rd of 129
Single-core only
Photo Editor
1,019
89th of 129
Single-core only
Ray Tracer
1,092
78th of 129
Single-core only
Structure from Motion
1,181
81st of 129
Single-core only
Game Physics
1,033
82nd of 129
Single-core only
Video Encoder
972
87th of 129
Single-core only
Audio Encoder
981
97th of 129
Single-core only
Video Player
944
95th of 129
Single-core only

Rank among the 129 runs with Geekbench 7 workload scores. Bars are relative to the best run. Geekbench doesn't run every workload multi-core, so some rows only have a single-core score.

Memory, TLS and scheduler

Memory bandwidth (STREAM)

Test Result Runs Spread
Copy higher is better 20.4 GB/s 3 1.87%
Scale higher is better 22 GB/s 3 2.37%
Add higher is better 23.7 GB/s 3 2.91%
Triad higher is better 23.9 GB/s 3 1.83%

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 452/s 3 1.36%
RSA 4096 verifies higher is better 29,291/s 3 1.07%
SHA-256 higher is better 505 MB/s 3 0.987%
AES-256-GCM higher is better 6.81 GB/s 3 0.308%
ChaCha20-Poly1305 higher is better 3.19 GB/s 3 0.198%

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.11 ms 3 0.342%
Requests per second, 90th percentile higher is better 484/s 3 0.119%
Request latency, 99.9th percentile lower is better 7.27 ms 3 10.8%
Requests per second, average higher is better 483/s 3 0.152%

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

Disk

Block size Read Write Total
4K 379 MB/s (97,016 IOPS) 380 MB/s (97,272 IOPS) 758.9 MB/s (194,288 IOPS)
64K 1.47 GB/s (24,084 IOPS) 1.48 GB/s (24,210 IOPS) 2.95 GB/s (48,294 IOPS)
512K 1.29 GB/s (2,651 IOPS) 1.36 GB/s (2,792 IOPS) 2.66 GB/s (5,443 IOPS)
1M 1.29 GB/s (1,322 IOPS) 1.38 GB/s (1,410 IOPS) 2.67 GB/s (2,732 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.41 Gbps 827 Mbps
Eranium, Amsterdam, NL (100G) IPv4 1.42 Gbps 1.37 Gbps
Leaseweb, Singapore, SG (10G) IPv4 659 Mbps 1.07 Gbps
Clouvider, Los Angeles, CA, US (10G) IPv4 1.44 Gbps 1.02 Gbps
Leaseweb, NYC, NY, US (10G) IPv4 1.45 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 2,684 0.373 ms
fdatasync 3,894 0.257 ms
fsync 2,772 0.361 ms
fsync_writethrough Not supported here n/a
open_sync 2,428 0.412 ms
Two 8 kB writes
open_datasync 1,769 0.565 ms
fdatasync 3,044 0.329 ms
fsync 2,172 0.46 ms
fsync_writethrough Not supported here n/a
open_sync 1,344 0.744 ms
open_sync at different write sizes
1 * 16kB open_sync write 1,577 0.634 ms
2 * 8kB open_sync writes 1,219 0.821 ms
4 * 4kB open_sync writes 917 1.09 ms
8 * 2kB open_sync writes 383 2.61 ms
16 * 1kB open_sync writes 165 6.07 ms
fsync on a non-write descriptor
write, fsync, close 2,414 0.414 ms
write, close, fsync 2,684 0.373 ms
Non-synced 8 kB writes
write 831,128 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,689 0.533 ms 0.963 ms 1.47 ms 3.31 ms 0
Read/write (TPC-B like) 8 4,039 1.74 ms 3.55 ms 5.55 ms 10.1 ms 0
Read/write (TPC-B like) 32 4,309 5.85 ms 17.2 ms 28.7 ms 50.3 ms 0
Read only 1 25,512 0.037 ms 0.047 ms 0.055 ms 0.082 ms 0
Read only 8 47,024 0.156 ms 0.246 ms 0.296 ms 0.601 ms 0
Read only 32 45,496 0.628 ms 0.931 ms 1.24 ms 2.16 ms 0

Scale 10 (1,000,000 accounts), loaded in 1.44 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,242 0.727 ms 1.33 ms 2.24 ms 3.38 ms 0
Read/write (TPC-B like) 8 3,541 2.07 ms 3.83 ms 5.46 ms 8.82 ms 0
Read/write (TPC-B like) 32 4,519 6.63 ms 10.8 ms 14.2 ms 21.2 ms 0
Read only 1 7,581 0.097 ms 0.284 ms 0.509 ms 1.12 ms 0
Read only 8 29,689 0.232 ms 0.499 ms 0.688 ms 2.28 ms 0
Read only 32 29,666 0.944 ms 1.76 ms 2.43 ms 4.24 ms 0

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

MySQL

sysbench OLTP

Workload Threads Transactions/s Queries/s Median p95 p99 Errors
Read/write 1 327 6,542 2.71 ms 4.82 ms 7.43 ms 0
Read/write 8 839 16,776 9.22 ms 13.7 ms 19.6 ms 0
Read/write 32 867 17,339 37.6 ms 55.8 ms 70.5 ms 0
Read only 1 912 14,598 1.06 ms 1.23 ms 1.55 ms 0
Read only 8 1,540 24,646 5.09 ms 6.67 ms 7.57 ms 0
Read only 32 1,403 22,445 22.7 ms 28.2 ms 31.4 ms 0

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

Redis

memtier

Mix Operations/s Hits/s Median p99 p99.9
1:10 set:get 74,427 67,661 0.407 ms 2.69 ms 4.64 ms
1:1 set:get 74,343 37,171 0.399 ms 2.67 ms 4.61 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 497 1,774 2,395 869 ms
Express express-postgresjs 6,530 9,247 31,619 274 ms
Fastify fastify-postgres 6,104 9,730 33,316 80 ms
NestJS nestjs 4,043 4,348 16,375 123 ms
Nuxt nuxt 5,769 9,297 29,637 281 ms
FastAPI fastapi 3,039 4,000 17,623 433 ms
Django django-postgresql 1,268 1,458 3,107 338 ms
Rails rails 1,912 2,657 11,348 207 ms
Laravel laravel 732 763 1,372 417 ms
Symfony symfony 906 979 2,518 350 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 1.99 789 ms 881 ms 919 ms 0%
Shop page 1.99 1.08 s 1.15 s 1.18 s 0%
Category page 1.99 672 ms 1.07 s 1.12 s 0%
Product page 1.99 736 ms 835 ms 866 ms 0%
Product search 1.99 632 ms 742 ms 791 ms 0%
32 virtual users
Home page 2.02 2.84 s 3.19 s 3.22 s 0%
Shop page 2.02 3.8 s 4.32 s 4.38 s 0%
Category page 2.02 3.35 s 4.07 s 4.36 s 0%
Product page 2.02 2.84 s 2.99 s 3.06 s 0%
Product search 2.02 2.69 s 2.87 s 2.92 s 0%

Cart and checkout

Step Requests/s Median p95 p99 Error rate
8 virtual users
Add to cart 3.89 841 ms 928 ms 1 s 0%
Cart 3.89 673 ms 783 ms 817 ms 0%
Checkout 3.89 520 ms 596 ms 642 ms 0%
32 virtual users
Add to cart 3.94 2.77 s 3.33 s 3.42 s 0%
Cart 3.94 2.92 s 3.18 s 3.29 s 0%
Checkout 3.94 2.32 s 2.62 s 2.7 s 0%

k6 with a fixed number of virtual users, 62 to 65 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.98 224 ms 263 ms 451 ms 0%
Topic JSON 0.988 116 ms 133 ms 186 ms 0%
Home page 1 200 ms 300 ms 484 ms 0%
Categories page 0.494 234 ms 254 ms 316 ms 0%
User activity page 0.494 136 ms 147 ms 294 ms 0%
4 virtual users
Topic page 3.49 496 ms 664 ms 1.1 s 0%
Topic JSON 1.76 259 ms 337 ms 374 ms 0%
Home page 1.76 450 ms 621 ms 705 ms 0%
Categories page 0.902 535 ms 682 ms 980 ms 0%
User activity page 0.87 312 ms 464 ms 809 ms 0%
16 virtual users
Topic page 3.44 1.54 s 1.82 s 2.09 s 0%
Topic JSON 1.73 1.3 s 1.59 s 1.75 s 0%
Home page 1.73 1.52 s 1.8 s 1.97 s 0%
Categories page 0.889 1.55 s 2.01 s 2.53 s 0%
User activity page 0.873 1.35 s 1.66 s 1.89 s 0%

Anonymous

Step Requests/s Median p95 p99 Error rate
16 virtual users
Topic page 65.4 66.9 ms 171 ms 265 ms 0%
Topic JSON 32.7 63.8 ms 164 ms 267 ms 0%
Home page 32.8 65.9 ms 157 ms 229 ms 0%
Categories page 16.4 65.4 ms 171 ms 240 ms 0%
User activity page 16.4 218 ms 393 ms 535 ms 0%

k6 with a fixed number of virtual users, 60 to 62 s per level, after a 21 s warmup. The error rate counts responses that weren't a 200. Discourse ran with 4 app workers and 256 MB of Postgres shared buffers, what its installer picks for a 2 GB box. It added a 2 GB swapfile first, the way its installer does, and used up to 356 MB of it. The container peaked at 1,487 MB.

Ghost

Readers

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 7.18 41.7 ms 47 ms 74.5 ms 0%
Post page 17.9 19.7 ms 24 ms 38.6 ms 0%
Tag page 3.58 27.3 ms 30.7 ms 40.4 ms 0%
Author page 3.58 27.8 ms 32.2 ms 39.5 ms 0%
RSS feed 3.58 33.7 ms 38.8 ms 45.2 ms 0%
4 virtual users
Home page 8.2 133 ms 176 ms 228 ms 0%
Post page 20.5 85.8 ms 124 ms 174 ms 0%
Tag page 4.09 78.6 ms 116 ms 175 ms 0%
Author page 4.09 86 ms 120 ms 175 ms 0%
RSS feed 4.08 89.7 ms 126 ms 168 ms 0%
16 virtual users
Home page 8.48 477 ms 582 ms 611 ms 0%
Post page 21.2 392 ms 505 ms 541 ms 0%
Tag page 4.21 258 ms 370 ms 404 ms 0%
Author page 4.23 258 ms 352 ms 393 ms 0%
RSS feed 4.23 264 ms 369 ms 394 ms 0%

Staff in Ghost Admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Post list 4.13 37.5 ms 51.4 ms 85 ms 0%
Post editor 12.4 14 ms 17.6 ms 23.5 ms 0%
Saving a draft 12.4 34.5 ms 41.6 ms 73.1 ms 0%
Member list 4.13 42.9 ms 51.2 ms 59.6 ms 0%
4 virtual users
Post list 4.98 51.8 ms 60.4 ms 92.3 ms 0%
Post editor 15 25.7 ms 33.2 ms 77.3 ms 0%
Saving a draft 15 192 ms 255 ms 311 ms 0%
Member list 5.01 56.6 ms 71.7 ms 85.5 ms 0%

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 349 MB and MySQL at 582 MB.

Wagtail

Visitors

Step Requests/s Median p95 p99 Error rate
1 virtual user
Home page 1.61 81.6 ms 86.7 ms 89.6 ms 0%
Blog index 1.61 282 ms 294 ms 306 ms 0%
Blog post 4.8 26.3 ms 40.6 ms 42.7 ms 0%
Bread page 4.82 28.9 ms 31.3 ms 33.1 ms 0%
Location page 1.61 27.8 ms 30 ms 31 ms 0%
Site search 1.59 43.5 ms 75.9 ms 90.2 ms 0%
4 virtual users
Home page 2.6 216 ms 276 ms 304 ms 0%
Blog index 2.63 751 ms 932 ms 1.02 s 0%
Blog post 7.81 63.2 ms 100 ms 145 ms 0%
Bread page 7.84 67.8 ms 95.2 ms 107 ms 0%
Location page 2.63 63.6 ms 89.8 ms 110 ms 0%
Site search 2.59 91.9 ms 190 ms 215 ms 0%
16 virtual users
Home page 2.46 746 ms 1 s 1.21 s 0%
Blog index 2.51 1.95 s 2.33 s 2.45 s 0%
Blog post 7.37 418 ms 623 ms 774 ms 0%
Bread page 7.37 446 ms 654 ms 826 ms 0%
Location page 2.46 427 ms 708 ms 853 ms 0%
Site search 2.46 520 ms 794 ms 931 ms 0%

Editors in the Wagtail admin

Step Requests/s Median p95 p99 Error rate
1 virtual user
Admin dashboard 0.624 90.9 ms 103 ms 122 ms 0%
Page explorer 1.27 373 ms 435 ms 568 ms 0%
Page editor 1.87 174 ms 216 ms 278 ms 0%
Image library 0.624 69.2 ms 80.5 ms 664 ms 0%
Admin page search 0.624 37.3 ms 99.9 ms 191 ms 0%
4 virtual users
Admin dashboard 1.04 229 ms 481 ms 705 ms 0%
Page explorer 2.14 847 ms 1.36 s 1.55 s 0%
Page editor 3.18 425 ms 722 ms 800 ms 0%
Image library 1.06 258 ms 499 ms 570 ms 0%
Admin page search 1.04 106 ms 219 ms 319 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 297 MB, Postgres at 175 MB, and Redis at 26 MB.

Advertised vs. measured

Spec Advertised Measured
vCPU 2 2
CPU Shared vCPU 0% of busy CPU time stolen
RAM 2 GB 1.9 GiB
Storage 40 GB NVMe 38.7 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
2
CPU frequency
2500 MHz
AES-NI
Yes
VM-x/AMD-V
Yes
RAM reported
1.9 GiB
Swap reported
0 MiB
Disk reported
38.7 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
2 vCPU / 2 GB / 40 GB
Product line
Cloud VPS
Location
Dallas
vCPU
2 shared vCPU
Architecture
x86_64
RAM
2 GB
Storage
40 GB NVMe
Virtualization
KVM
Network
1 Gbps
Transfer
10 TB
Port 25
On request
Monthly price at test time
$16.89
Hourly price at test time
$0.025
YABS version
v2026-09-20
Ran at
Oct 12, 2026, 22:48:56 UTC
Parser version
5

Run timeline

Queued
Oct 12, 2026, 22:48:00 UTC
First update from the server
Oct 12, 2026, 22:48:52 UTC
Completed
Oct 13, 2026, 00:21:00 UTC
Server deleted
Oct 13, 2026, 00:21:00 UTC
Cost of this run
$0.039
Watch party 0 watching

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

Watch party

Loading the party