我有一个Flask应用程序,它使用SQLAlchemy和MySQL作为数据库。我有一个如此定义的函数:
def count_items():
total = 0
items = db.session.query(models.Item).yield_per(100)
for item in items:
total += 1
return total
它按预期工作,但是每次调用它时,uWSGI的内存使用量都会增加100 MB(该函数是一个应用程序路由,所以没有其他任何东西被调用)。这可以重复,直到机器内存不足,所以我不认为这只是SQLAlchemy缓存对象的问题。我是否遗漏了一些明显的东西来清理记忆?如果没有,那么有关于如何调试它的任何提示吗?我没有任何想法从哪里开始,尤其是混合使用uWSGI。