Restaurant WordPress Server Load: MariaDB vs SQLite rc3

Local macOS production-methodology request-load run for the same small restaurant WordPress site, comparing MariaDB/InnoDB with SQLite Database Integration v3.0.0-rc.3. This page focuses on CPU, memory, disk, network, WAL, and operational failure signals.

72measured cases: 2 variants x 3 workloads x 4 concurrency levels x 3 repetitions
+22.7% to +48.7%SQLite CPU core-seconds per 1k flows vs MariaDB
+85 to +886 MiBadditional SQLite PHP-FPM RSS vs MariaDB
0failed flows, write verification failures, SQLite busy/locked events, PHP fatals, or PHP warnings

Run date: 2026-06-11 15:10:33 UTC. Workloads were read-heavy, balanced, and write-heavy at 4, 16, 32, and 64 concurrent requests. Each measured window ran for 20 seconds after a 5 second warm-up. Resource samples were collected roughly once per second during the measured window.

Bottom Line

Interpret total RSS carefully: the MariaDB daemon was present on the host even during SQLite cases, so total RSS includes idle MariaDB memory in SQLite measurements. PHP-FPM RSS and CPU core-seconds per 1k flows are the cleaner cross-variant signals in this local run.

SQLite vs MariaDB Delta Summary

Positive throughput and writes/sec are better for SQLite. Negative p95 latency, CPU per 1k flows, and memory deltas are better for SQLite.

WorkloadConcurrent requestsThroughputp95 latencyCPU core-s / 1k flowsPHP-FPM RSSWrites/sec
read-heavy4-19.6%+25.7%+30.3%+85 MiBn/a
read-heavy16-17.8%+16.0%+22.7%+330 MiBn/a
read-heavy32-18.6%+11.7%+28.2%+378 MiBn/a
read-heavy64-17.5%+15.5%+36.3%+525 MiBn/a
balanced4+38.9%-31.8%+23.4%+119 MiB+42.0%
balanced16-7.1%-23.2%+24.0%+336 MiB-6.8%
balanced32-15.6%-26.2%+40.9%+377 MiB-16.5%
balanced64-14.9%-13.3%+36.4%+726 MiB-15.3%
write-heavy4+47.9%-27.0%+36.7%+126 MiB+51.2%
write-heavy16+1.8%-12.7%+42.1%+336 MiB+1.1%
write-heavy32-4.2%-16.1%+39.1%+468 MiB-4.9%
write-heavy64-15.8%-3.0%+48.7%+886 MiB-15.3%

CPU Cost Delta

SQLite CPU core-seconds per 1k successful flows compared with MariaDB. Lower is better.

Workloadc4c16c32c64
read-heavy +30.3% +22.7% +28.2% +36.3%
balanced +23.4% +24.0% +40.9% +36.4%
write-heavy +36.7% +42.1% +39.1% +48.7%

PHP-FPM Memory Delta

SQLite max PHP-FPM RSS minus MariaDB max PHP-FPM RSS. Lower is better.

Workloadc4c16c32c64
read-heavy +85 MiB +330 MiB +378 MiB +525 MiB
balanced +119 MiB +336 MiB +377 MiB +726 MiB
write-heavy +126 MiB +336 MiB +468 MiB +886 MiB

Throughput Delta

SQLite completed flows per second compared with MariaDB. Higher is better.

Workloadc4c16c32c64
read-heavy -19.6% -17.8% -18.6% -17.5%
balanced +38.9% -7.1% -15.6% -14.9%
write-heavy +47.9% +1.8% -4.2% -15.8%

p95 Latency Delta

SQLite full-flow p95 latency compared with MariaDB. Lower is better.

Workloadc4c16c32c64
read-heavy +25.7% +16.0% +11.7% +15.5%
balanced -31.8% -23.2% -26.2% -13.3%
write-heavy -27.0% -12.7% -16.1% -3.0%

Resource Metrics By Cell

CPU is approximate process core-seconds per 1k successful flows, derived by integrating sampled process CPU percentages across the measured window. Max process CPU can exceed 100% because the VM had multiple CPUs.

VariantWorkloadConcurrent requestsFlows/secp95CPU core-s / 1kMax process CPUMax PHP RSSMax DB RSSMax total RSSMax disk MB/sampleLoopback MB/s
MariaDBbalanced469.38147ms31.00319%646 MiB149 MiB818 MiB11.7928.66
MariaDBbalanced16102.17575ms31.10355%957 MiB149 MiB1,123 MiB13.6641.25
MariaDBbalanced32106.171.22s29.02359%1,603 MiB149 MiB1,754 MiB13.6643.83
MariaDBbalanced64108.042.14s29.06357%2,727 MiB150 MiB2,896 MiB23.3542.51
MariaDBread-heavy4116.1876ms29.96366%643 MiB149 MiB813 MiB13.2342.34
MariaDBread-heavy16108.78346ms32.72372%942 MiB149 MiB1,114 MiB29.5540.56
MariaDBread-heavy32113.48696ms30.69368%1,522 MiB149 MiB1,690 MiB18.5340.84
MariaDBread-heavy64110.721.40s31.14363%2,707 MiB149 MiB2,879 MiB12.7142.00
MariaDBwrite-heavy465.18146ms28.02295%657 MiB150 MiB827 MiB27.4628.60
MariaDBwrite-heavy1694.01561ms26.63332%971 MiB150 MiB1,140 MiB14.5443.28
MariaDBwrite-heavy32103.531.09s26.52334%1,583 MiB150 MiB1,746 MiB15.8647.45
MariaDBwrite-heavy64111.822.01s26.38349%2,758 MiB151 MiB2,934 MiB13.9151.87
SQLite rc3balanced496.39100ms38.26384%765 MiB149 MiB936 MiB12.7240.44
SQLite rc3balanced1694.87442ms38.55380%1,293 MiB149 MiB1,466 MiB16.5837.47
SQLite rc3balanced3289.65903ms40.90378%1,981 MiB149 MiB2,156 MiB15.7537.12
SQLite rc3balanced6491.971.85s39.63380%3,453 MiB149 MiB3,623 MiB15.0437.06
SQLite rc3read-heavy493.4595ms39.05383%728 MiB149 MiB893 MiB10.5433.98
SQLite rc3read-heavy1689.43402ms40.15380%1,273 MiB149 MiB1,410 MiB8.4433.76
SQLite rc3read-heavy3292.39778ms39.33379%1,900 MiB149 MiB2,038 MiB11.6433.54
SQLite rc3read-heavy6491.291.62s42.45378%3,232 MiB149 MiB3,408 MiB12.3833.31
SQLite rc3write-heavy496.43106ms38.29380%783 MiB150 MiB956 MiB20.7544.02
SQLite rc3write-heavy1695.71490ms37.85377%1,307 MiB150 MiB1,465 MiB17.5045.09
SQLite rc3write-heavy3299.18915ms36.88382%2,051 MiB150 MiB2,214 MiB16.2245.47
SQLite rc3write-heavy6494.181.95s39.23377%3,643 MiB151 MiB3,818 MiB19.6543.15

Correctness And Error Signals

0failed flows
0write verification failures
0SQLite busy/locked log events
0PHP fatal or warning log events
8-10resource samples per case

Artifacts