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.3%SQLite 93.53-22.9%SQLite 88.98-19.8%SQLite 92.68-18.1%SQLite 93.04balanced+29.9%SQLite 95.17-8.6%SQLite 91.83-16.9%SQLite 86.47-15.4%SQLite 93.03write-heavy+41.8%SQLite 95.32-1.9%SQLite 90.31-7.9%SQLite 95.27-14.5%SQLite 97.30
Average request-time deltaAverage request-time deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavy+25.7%SQLite 26.79+29.3%SQLite 105.52+24.5%SQLite 213.22+21.3%SQLite 414.14balanced-21.4%SQLite 27.22+9.4%SQLite 109.87+17.7%SQLite 219.64+17.0%SQLite 426.24write-heavy-30.5%SQLite 29.45+1.3%SQLite 124.66+7.9%SQLite 240.67+14.2%SQLite 476.23
p95 full-flow latency deltap95 full-flow latency deltaSQLite rc3 vs MariaDB. Green is better for SQLite; red is worse.4163264read-heavy+28.3%SQLite 96.37+23.7%SQLite 405.85+13.4%SQLite 769.08+16.4%SQLite 1,574.93balanced-26.8%SQLite 100.94-24.0%SQLite 455.35-24.7%SQLite 927.32-18.4%SQLite 1,791.86write-heavy-27.8%SQLite 104.73-9.9%SQLite 510.47-13.1%SQLite 965.54-5.5%SQLite 1,900.20
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+33.5%SQLite 19.57-9.4%SQLite 18.53-16.8%SQLite 17.38-15.7%SQLite 19.87write-heavy+41.5%SQLite 28.15-1.4%SQLite 26.63-8.2%SQLite 29.20-15.0%SQLite 29.33

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: 73.28 flows/s, p95 138ms4MariaDB balanced c16: 100.49 flows/s, p95 599ms16MariaDB balanced c32: 104.00 flows/s, p95 1.23s32MariaDB balanced c64: 109.91 flows/s, p95 2.20s64MariaDB read-heavy c4: 115.85 flows/s, p95 75ms4MariaDB read-heavy c16: 115.40 flows/s, p95 328ms16MariaDB read-heavy c32: 115.61 flows/s, p95 678ms32MariaDB read-heavy c64: 113.64 flows/s, p95 1.35s64MariaDB write-heavy c4: 67.23 flows/s, p95 145ms4MariaDB write-heavy c16: 92.08 flows/s, p95 567ms16MariaDB write-heavy c32: 103.48 flows/s, p95 1.11s32MariaDB write-heavy c64: 113.74 flows/s, p95 2.01s64SQLite balanced c4: 95.17 flows/s, p95 101ms4SQLite balanced c16: 91.83 flows/s, p95 455ms16SQLite balanced c32: 86.47 flows/s, p95 927ms32SQLite balanced c64: 93.03 flows/s, p95 1.79s64SQLite read-heavy c4: 93.53 flows/s, p95 96ms4SQLite read-heavy c16: 88.98 flows/s, p95 406ms16SQLite read-heavy c32: 92.68 flows/s, p95 769ms32SQLite read-heavy c64: 93.04 flows/s, p95 1.57s64SQLite write-heavy c4: 95.32 flows/s, p95 105ms4SQLite write-heavy c16: 90.31 flows/s, p95 510ms16SQLite write-heavy c32: 95.27 flows/s, p95 966ms32SQLite write-heavy c64: 97.30 flows/s, p95 1.90s64MariaDBSQLiteCompleted 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-baselinebalanced4373.2835ms138ms14.660000
mariadb-innodb-baselinebalanced163100.49100ms599ms20.450000
mariadb-innodb-baselinebalanced323104.00187ms1.23s20.890000
mariadb-innodb-baselinebalanced643109.91364ms2.20s23.580000
mariadb-innodb-baselineread-heavy43115.8521ms75ms0.000000
mariadb-innodb-baselineread-heavy163115.4082ms328ms0.000000
mariadb-innodb-baselineread-heavy323115.61171ms678ms0.000000
mariadb-innodb-baselineread-heavy643113.64341ms1.35s0.000000
mariadb-innodb-baselinewrite-heavy4367.2342ms145ms19.900000
mariadb-innodb-baselinewrite-heavy16392.08123ms567ms27.010000
mariadb-innodb-baselinewrite-heavy323103.48223ms1.11s31.820000
mariadb-innodb-baselinewrite-heavy643113.74417ms2.01s34.490000
sqlite-driver-3.0.0-rc.3balanced4395.1727ms101ms19.570004177712
sqlite-driver-3.0.0-rc.3balanced16391.83110ms455ms18.530004288952
sqlite-driver-3.0.0-rc.3balanced32386.47220ms927ms17.380005442552
sqlite-driver-3.0.0-rc.3balanced64393.03426ms1.79s19.870005805112
sqlite-driver-3.0.0-rc.3read-heavy4393.5327ms96ms0.0000082432
sqlite-driver-3.0.0-rc.3read-heavy16388.98106ms406ms0.0000074192
sqlite-driver-3.0.0-rc.3read-heavy32392.68213ms769ms0.0000078312
sqlite-driver-3.0.0-rc.3read-heavy64393.04414ms1.57s0.0000078312
sqlite-driver-3.0.0-rc.3write-heavy4395.3229ms105ms28.150004210672
sqlite-driver-3.0.0-rc.3write-heavy16390.31125ms510ms26.630004779232
sqlite-driver-3.0.0-rc.3write-heavy32395.27241ms966ms29.200009714992
sqlite-driver-3.0.0-rc.3write-heavy64397.30476ms1.90s29.3300014778472