第一件事;
我的应用程序中有一个端点,在该端点上对数据库运行大型查询。当请求到达时,我运行一个查询,该查询从一个大表返回大量行,使用迭代器遍历结果,并从行中构造一个列表,然后返回该列表。我跟踪Django进程的内存使用情况,这是发生的情况:
这里似乎存在内存泄漏,但是我找不到引起它的原因。这是我的观点,很简单:
results = Model.objects.filter(a=1, b=2).values('a', 'b', 'c').order_by('c')
result_list = []
for row in results.iterator():
result_list.append(row)
return Response({'body': result_list})
有什么想法可能导致泄漏?