Python Django queryset的内存使用率度量策略

Python Django queryset的内存使用率度量策略,python,django,Python,Django,我想测量Djangoqueryset使用了多少内存 例如,我尝试简单的方法 import psutil process = psutil.Process(os.getpid()) s = process.memory_info().rss # in bytes for i in queryset: pass e = process.memory_info().rss # in bytes print('queryset memory: %s' % (e-s)) 由于迭代querys

我想测量Django
queryset
使用了多少内存

例如,我尝试简单的方法

import psutil
process = psutil.Process(os.getpid())
s = process.memory_info().rss  # in bytes
for i in queryset:
    pass
e = process.memory_info().rss  # in bytes
print('queryset memory: %s' % (e-s))
由于迭代
queryset
Django
将命中数据库,结果将被缓存,通过获取Python进程的内存使用情况,我尝试测量
queryset
内存使用情况

你们知道,我不知道这个途径是否正确,或者是否有任何方法来衡量我的目标

此度量是为了预测在尝试获取大规模查询结果时是否会出现任何问题,如果存在问题,则根据产生问题的行数

我知道如果我想避免缓存
queryset
result,我可以使用
iterator()
。 但是,
iterator()
还应确定
chunk\u size
参数,以减少命中数据库的次数,内存使用情况将根据
chunk\u size
的不同而有所不同

import psutil
process = psutil.Process(os.getpid())
s = process.memory_info().rss  # in bytes
for i in queryset.iterator(chunk_size=10000):
    pass
e = process.memory_info().rss  # in bytes
print('queryset memory: %s' % (e-s))