SQLite 默认未开启 WAL ,这会显著限制并发性能。 PlanTodo 是一个计划管理软件,最近我为它的同步服务编写了性能测试,经过实测,仅开启 WAL 就让同步服务的吞吐量便提升至原来的 3 倍, 其实关于 SQLite 性能优化的文章早有珠玉在前,比如 Optimal SQLite settings for Django 和 Optimizing SQLite for servers ,所以本篇文章并没有独创性,只是为了让更多人了解 SQLite 的 性能 以及分享一个真实的性能 测试用例 。 PlanTodo 同步服务性能测试 性能测试分为三个: oo_upload (one user, one device for a user, only upload) ,就是一个用户一台设备仅上传 oo_download 就是仅下载 oo_cross 是上传和下载交错进行 oo_upload 和 oo_download 是为了查看上传和下载场景下的极限性能,是为了将来专门优化时用来参考的。而 oo_cross 则较为贴近真实使用场景:用...