SQLite 每秒能处理多少请求?10万日PV算高并发吗?亲手给这个数据库施加压力,看它什么时候开始喊 BUSY
这是一个运行在服务器上的真实 SQLite 文件,所有访客共享同一个数据库。点击下方按钮写入一条数据。
↑ 最近 30 次写入延迟(绿 <10ms · 黄 <50ms · 红 ≥50ms)
选择一个典型场景,看看日PV换算成每秒请求数到底是多少。点击后自动设置对应的压测参数。
模拟 N 个并发写入同时打到这个 SQLite 文件,观察成功率和延迟变化。可对比 WAL 模式的效果。
同样的并发数,WAL 模式和默认 DELETE 模式的表现差异有多大?一键跑对比实验。
通过上面的实验,你应该能直观感受到:
10万日PV ≈ 1.2 req/s,SQLite 单线程写入都能达到几百 req/s。日访问量和并发是两个维度的概念。
当几十个写入同时发生(真正的并发),SQLite 的单写锁就会成为瓶颈。WAL 模式能缓解,但无法彻底解决。
大多数人说的"高并发"其实是"高流量"。日10万PV的站点,同一毫秒内有2个以上写入请求同时到达的概率极低。SQLite 对这种场景绰绰有余。