SQLite 足够撑起一个个人站
每次我说自己的站点跑在 SQLite 上,总会有人问:能撑住吗?我的回答是,先看看你的访问量。一个每天几百次请求的个人站,SQLite 的读性能绰绰有余,真正需要担心的是写入并发,而不是总量。
我做过一次粗略的压测:用 wrk 从本机打了两千个并发请求,页面响应仍然稳定在几十毫秒。数据库文件只有几 MB,备份就是复制一个文件,恢复也是复制回来。这种简单带来的安心,比多出来的那一点性能更值钱。
当然它有边界。长时间运行的事务会阻塞其他写入,多台机器同时写入也不合适。所以我把所有写操作都收在少数几个入口,图片和视频不放进数据库,日志直接写文件。只要遵守这些约定,SQLite 就是一个非常可靠的伙伴。
我不是在建议所有人都用 SQLite。我想说的是,很多项目在还没遇到瓶颈之前,就已经为瓶颈付出了太多复杂度。
我做过一次粗略的压测:用 wrk 从本机打了两千个并发请求,页面响应仍然稳定在几十毫秒。数据库文件只有几 MB,备份就是复制一个文件,恢复也是复制回来。这种简单带来的安心,比多出来的那一点性能更值钱。
当然它有边界。长时间运行的事务会阻塞其他写入,多台机器同时写入也不合适。所以我把所有写操作都收在少数几个入口,图片和视频不放进数据库,日志直接写文件。只要遵守这些约定,SQLite 就是一个非常可靠的伙伴。
我不是在建议所有人都用 SQLite。我想说的是,很多项目在还没遇到瓶颈之前,就已经为瓶颈付出了太多复杂度。
2 条评论
陈
陈默
2026-11-01 21:13
想请教一下,SQLite 在并发写入时你是如何避免锁等待的?
阿
阿依古丽
2026-11-01 21:13
بىر ھۆججەتلىك زاپاسلاش بەك قۇلاي، مەن بىر يىلدىن بېرى شۇنداق قىلىۋاتىمەن.