每次我说自己的站点跑在 SQLite 上,总会有人问:能撑住吗?我的回答是,先看看你的访问量。一个每天几百次请求的个人站,SQLite 的读性能绰绰有余,真正需要担心的是写入并发,而不是总量。

我做过一次粗略的压测:用 wrk 从本机打了两千个并发请求,页面响应仍然稳定在几十毫秒。数据库文件只有几 MB,备份就是复制一个文件,恢复也是复制回来。这种简单带来的安心,比多出来的那一点性能更值钱。

当然它有边界。长时间运行的事务会阻塞其他写入,多台机器同时写入也不合适。所以我把所有写操作都收在少数几个入口,图片和视频不放进数据库,日志直接写文件。只要遵守这些约定,SQLite 就是一个非常可靠的伙伴。

我不是在建议所有人都用 SQLite。我想说的是,很多项目在还没遇到瓶颈之前,就已经为瓶颈付出了太多复杂度。