目前使用flask+sqlite做的一个小型应用。在访问量高的时候出现502,查日志发现大量的“database is locked”
flask sqlalchemy sqlite
首先检查一下你的SQL语句是不是用上了该用的索引。
如果没有,尽量优化它。
如果用了还不行,说明sqlite本身性能已经不能满足要求了。
如果只是读被锁的话,可以通过添加一个缓存层(如memcached)来解决。
如果是写被锁的话(sqlite的并发写性能是挺弱的),在对数据一致性要求不高的场合,可以考虑将写操作缓存,多个写操作(再加上个时间限制)合并,以提高数据库的吞吐量(许多基于sqlite的论坛什么的就有这种机制)。
如果还是不行,你就只能考虑换其他性能更高的数据库产品了。
怎么依据当前文章Tags查询出相关文章?
Python使用Flask+SQLalchemy做开发,有什么需要注意的吗?
网站不定时崩溃,日志中记录 sqlalchemy报错,Session's transactio...
flask-sqlalchemy多表查询的高效方法?
Flask-SQLALchemy对表中数据按时间进行统计
Flask 与 项目内其他 SQLalchemy 如何共用 Models 文件?