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 | 69.38 | 36ms | 147ms | 13.88 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 16 | 3 | 102.17 | 99ms | 575ms | 20.64 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 32 | 3 | 106.17 | 181ms | 1.22s | 21.41 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | balanced | 64 | 3 | 108.04 | 367ms | 2.14s | 23.02 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 4 | 3 | 116.18 | 21ms | 76ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 16 | 3 | 108.78 | 87ms | 346ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 32 | 3 | 113.48 | 175ms | 696ms | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | read-heavy | 64 | 3 | 110.72 | 349ms | 1.40s | 0.00 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 4 | 3 | 65.18 | 44ms | 146ms | 19.06 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 16 | 3 | 94.01 | 120ms | 561ms | 27.64 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 32 | 3 | 103.53 | 221ms | 1.09s | 32.24 | 0 | 0 | 0 | 0 |
| mariadb-innodb-baseline | write-heavy | 64 | 3 | 111.82 | 427ms | 2.01s | 33.96 | 0 | 0 | 0 | 0 |
| sqlite-driver-3.0.0-rc.3 | balanced | 4 | 3 | 96.39 | 27ms | 100ms | 19.70 | 0 | 0 | 0 | 4173592 |
| sqlite-driver-3.0.0-rc.3 | balanced | 16 | 3 | 94.87 | 107ms | 442ms | 19.23 | 0 | 0 | 0 | 4276592 |
| sqlite-driver-3.0.0-rc.3 | balanced | 32 | 3 | 89.65 | 212ms | 903ms | 17.87 | 0 | 0 | 0 | 4911072 |
| sqlite-driver-3.0.0-rc.3 | balanced | 64 | 3 | 91.97 | 434ms | 1.85s | 19.50 | 0 | 0 | 0 | 6233592 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 4 | 3 | 93.45 | 27ms | 95ms | 0.00 | 0 | 0 | 0 | 49472 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 16 | 3 | 89.43 | 105ms | 402ms | 0.00 | 0 | 0 | 0 | 70072 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 32 | 3 | 92.39 | 215ms | 778ms | 0.00 | 0 | 0 | 0 | 82432 |
| sqlite-driver-3.0.0-rc.3 | read-heavy | 64 | 3 | 91.29 | 422ms | 1.62s | 0.00 | 0 | 0 | 0 | 82432 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 4 | 3 | 96.43 | 29ms | 106ms | 28.81 | 0 | 0 | 0 | 4321912 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 16 | 3 | 95.71 | 119ms | 490ms | 27.96 | 0 | 0 | 0 | 5265392 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 32 | 3 | 99.18 | 233ms | 915ms | 30.65 | 0 | 0 | 0 | 6657952 |
| sqlite-driver-3.0.0-rc.3 | write-heavy | 64 | 3 | 94.18 | 488ms | 1.95s | 28.76 | 0 | 0 | 0 | 26883032 |