Small Restaurant Site SQLite Benchmark
Local macOS production-methodology request-load comparison for a small restaurant WordPress site: 10 pages, 6 blog posts, comments, reservation-request writes, and wp-admin editor/admin paths. Negative latency deltas mean SQLite was faster; positive throughput deltas mean SQLite completed more work.
3repetitions per workload/concurrent-request cell
4, 16, 32, 64concurrent requests tested
0SQLite rc3 failed benchmark flows
0SQLite rc3 lock/busy log events
This is a local diagnostic, not the blocked dedicated-Linux full matrix. The measured window starts after fixture restore, server startup, login setup, and warm-up.
How The Test Was Conducted
- Create the same small restaurant WordPress fixture for MariaDB and SQLite: homepage, menu, reservations, contact, about, event/catering/gallery/location/journal pages, six posts, seed comments, seed reservations, and benchmark users.
- Before every measured cell, restore that variant's clean database snapshot so previous writes do not affect the next run.
- Start local nginx and PHP-FPM for the case, log in worker admin sessions outside the measured timing window, and run a warm-up for 5.0 seconds.
- Measure for 20.0 seconds with the configured concurrent-request count.
- Read-heavy flow mix: public page/menu/search/REST reads plus a small amount of logged-in wp-admin reads.
- Balanced and write-heavy mixes add verified comment writes, public reservation-request writes, and authenticated editor-save simulations.
- Record full-flow latency, average request completion time, throughput, write throughput, failures, write verification, SQLite WAL size, and SQLite lock/busy logs.
SQLite rc3 vs MariaDB Delta Heatmaps
Throughput And Tail Latency
Aggregate Table
| Variant | Workload | Concurrent requests | Reps | Median flows/s | Avg request completion | p95 flow latency | Verified writes/s | Failed flows | Write verify failures | SQLite lock/busy | Max WAL bytes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| mariadb-innodb-baseline | balanced | 4 | 3 | 73.28 | 35ms | 138ms | 14.66 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 16 | 3 | 100.49 | 100ms | 599ms | 20.45 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 32 | 3 | 104.00 | 187ms | 1.23s | 20.89 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 64 | 3 | 109.91 | 364ms | 2.20s | 23.58 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 4 | 3 | 115.85 | 21ms | 75ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 16 | 3 | 115.40 | 82ms | 328ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 32 | 3 | 115.61 | 171ms | 678ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 64 | 3 | 113.64 | 341ms | 1.35s | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 4 | 3 | 67.23 | 42ms | 145ms | 19.90 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 16 | 3 | 92.08 | 123ms | 567ms | 27.01 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 32 | 3 | 103.48 | 223ms | 1.11s | 31.82 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 64 | 3 | 113.74 | 417ms | 2.01s | 34.49 | 0 | 0 | 0 | 0 |
| sqlite-driver-3.0.0-rc.3 | balanced | 4 | 3 | 95.17 | 27ms | 101ms | 19.57 | 0 | 0 | 0 | 4177712 |
| sqlite-driver-3.0.0-rc.3 | balanced | 16 | 3 | 91.83 | 110ms | 455ms | 18.53 | 0 | 0 | 0 | 4288952 |
| sqlite-driver-3.0.0-rc.3 | balanced | 32 | 3 | 86.47 | 220ms | 927ms | 17.38 | 0 | 0 | 0 | 5442552 |
| sqlite-driver-3.0.0-rc.3 | balanced | 64 | 3 | 93.03 | 426ms | 1.79s | 19.87 | 0 | 0 | 0 | 5805112 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 4 | 3 | 93.53 | 27ms | 96ms | 0.00 | 0 | 0 | 0 | 82432 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 16 | 3 | 88.98 | 106ms | 406ms | 0.00 | 0 | 0 | 0 | 74192 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 32 | 3 | 92.68 | 213ms | 769ms | 0.00 | 0 | 0 | 0 | 78312 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 64 | 3 | 93.04 | 414ms | 1.57s | 0.00 | 0 | 0 | 0 | 78312 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 4 | 3 | 95.32 | 29ms | 105ms | 28.15 | 0 | 0 | 0 | 4210672 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 16 | 3 | 90.31 | 125ms | 510ms | 26.63 | 0 | 0 | 0 | 4779232 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 32 | 3 | 95.27 | 241ms | 966ms | 29.20 | 0 | 0 | 0 | 9714992 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 64 | 3 | 97.30 | 476ms | 1.90s | 29.33 | 0 | 0 | 0 | 14778472 |