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

  1. 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.
  2. Before every measured cell, restore that variant's clean database snapshot so previous writes do not affect the next run.
  3. 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.
  4. Measure for 20.0 seconds with the configured concurrent-request count.
  5. Read-heavy flow mix: public page/menu/search/REST reads plus a small amount of logged-in wp-admin reads.
  6. Balanced and write-heavy mixes add verified comment writes, public reservation-request writes, and authenticated editor-save simulations.
  7. 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 deltaThroughput deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavy-19.6%SQLite 93.45-17.8%SQLite 89.43-18.6%SQLite 92.39-17.5%SQLite 91.29balanced+38.9%SQLite 96.39-7.1%SQLite 94.87-15.6%SQLite 89.65-14.9%SQLite 91.97write-heavy+47.9%SQLite 96.43+1.8%SQLite 95.71-4.2%SQLite 99.18-15.8%SQLite 94.18
Average request-time deltaAverage request-time deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavy+26.7%SQLite 26.90+21.4%SQLite 105.38+22.9%SQLite 214.97+20.9%SQLite 422.20balanced-26.0%SQLite 26.82+7.7%SQLite 106.72+16.9%SQLite 211.63+18.2%SQLite 434.24write-heavy-33.1%SQLite 29.13-1.2%SQLite 118.70+5.5%SQLite 233.18+14.3%SQLite 488.38
p95 full-flow latency deltap95 full-flow latency deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavy+25.7%SQLite 95.23+16.0%SQLite 401.88+11.7%SQLite 777.71+15.5%SQLite 1,615.65balanced-31.8%SQLite 100.28-23.2%SQLite 441.60-26.2%SQLite 903.08-13.3%SQLite 1,850.41write-heavy-27.0%SQLite 106.22-12.7%SQLite 490.25-16.1%SQLite 915.19-3.0%SQLite 1,950.32
Verified writes/sec deltaVerified writes/sec deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavyn/aSQLite 0.00n/aSQLite 0.00n/aSQLite 0.00n/aSQLite 0.00balanced+42.0%SQLite 19.70-6.8%SQLite 19.23-16.5%SQLite 17.87-15.3%SQLite 19.50write-heavy+51.2%SQLite 28.81+1.1%SQLite 27.96-4.9%SQLite 30.65-15.3%SQLite 28.76

Throughput And Tail Latency

Throughput vs p95 latencyThroughput vs p95 latencyEach point is a median cell. Better points move right and down.MariaDB balanced c4: 69.38 flows/s, p95 147ms4MariaDB balanced c16: 102.17 flows/s, p95 575ms16MariaDB balanced c32: 106.17 flows/s, p95 1.22s32MariaDB balanced c64: 108.04 flows/s, p95 2.14s64MariaDB read-heavy c4: 116.18 flows/s, p95 76ms4MariaDB read-heavy c16: 108.78 flows/s, p95 346ms16MariaDB read-heavy c32: 113.48 flows/s, p95 696ms32MariaDB read-heavy c64: 110.72 flows/s, p95 1.40s64MariaDB write-heavy c4: 65.18 flows/s, p95 146ms4MariaDB write-heavy c16: 94.01 flows/s, p95 561ms16MariaDB write-heavy c32: 103.53 flows/s, p95 1.09s32MariaDB write-heavy c64: 111.82 flows/s, p95 2.01s64SQLite balanced c4: 96.39 flows/s, p95 100ms4SQLite balanced c16: 94.87 flows/s, p95 442ms16SQLite balanced c32: 89.65 flows/s, p95 903ms32SQLite balanced c64: 91.97 flows/s, p95 1.85s64SQLite read-heavy c4: 93.45 flows/s, p95 95ms4SQLite read-heavy c16: 89.43 flows/s, p95 402ms16SQLite read-heavy c32: 92.39 flows/s, p95 778ms32SQLite read-heavy c64: 91.29 flows/s, p95 1.62s64SQLite write-heavy c4: 96.43 flows/s, p95 106ms4SQLite write-heavy c16: 95.71 flows/s, p95 490ms16SQLite write-heavy c32: 99.18 flows/s, p95 915ms32SQLite write-heavy c64: 94.18 flows/s, p95 1.95s64MariaDBSQLiteCompleted flows per secondp95 full-flow latency

Aggregate Table

VariantWorkloadConcurrent requestsRepsMedian flows/sAvg request completionp95 flow latencyVerified writes/sFailed flowsWrite verify failuresSQLite lock/busyMax WAL bytes
mariadb-innodb-baselinebalanced4369.3836ms147ms13.880000
mariadb-innodb-baselinebalanced163102.1799ms575ms20.640000
mariadb-innodb-baselinebalanced323106.17181ms1.22s21.410000
mariadb-innodb-baselinebalanced643108.04367ms2.14s23.020000
mariadb-innodb-baselineread-heavy43116.1821ms76ms0.000000
mariadb-innodb-baselineread-heavy163108.7887ms346ms0.000000
mariadb-innodb-baselineread-heavy323113.48175ms696ms0.000000
mariadb-innodb-baselineread-heavy643110.72349ms1.40s0.000000
mariadb-innodb-baselinewrite-heavy4365.1844ms146ms19.060000
mariadb-innodb-baselinewrite-heavy16394.01120ms561ms27.640000
mariadb-innodb-baselinewrite-heavy323103.53221ms1.09s32.240000
mariadb-innodb-baselinewrite-heavy643111.82427ms2.01s33.960000
sqlite-driver-3.0.0-rc.3balanced4396.3927ms100ms19.700004173592
sqlite-driver-3.0.0-rc.3balanced16394.87107ms442ms19.230004276592
sqlite-driver-3.0.0-rc.3balanced32389.65212ms903ms17.870004911072
sqlite-driver-3.0.0-rc.3balanced64391.97434ms1.85s19.500006233592
sqlite-driver-3.0.0-rc.3read-heavy4393.4527ms95ms0.0000049472
sqlite-driver-3.0.0-rc.3read-heavy16389.43105ms402ms0.0000070072
sqlite-driver-3.0.0-rc.3read-heavy32392.39215ms778ms0.0000082432
sqlite-driver-3.0.0-rc.3read-heavy64391.29422ms1.62s0.0000082432
sqlite-driver-3.0.0-rc.3write-heavy4396.4329ms106ms28.810004321912
sqlite-driver-3.0.0-rc.3write-heavy16395.71119ms490ms27.960005265392
sqlite-driver-3.0.0-rc.3write-heavy32399.18233ms915ms30.650006657952
sqlite-driver-3.0.0-rc.3write-heavy64394.18488ms1.95s28.7600026883032