Tornado文件上载高内存usag

2024-05-17 00:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个在nginx后面运行的tornado应用程序,支持用户文件上传(我只使用self.request.files来访问上传的文件)。最大文件大小是10MB,这是在nginx配置中设置的,因此python进程不会看到大于这个值的文件。在

我注意到每次用户上传文件时,内存都会增加一点。但我想不出其中的模式。我试图找出是否有内存泄漏(使用pymplerobjgraph),但没有发现任何特别可疑的东西。他们只告诉我,最消耗内存的对象是字符串和dict,它们的组合对象大小不超过7-8MB。如果上传的文件本身在请求完成后仍有引用,那么我还希望bytes类型由pympler和/或{}报告,我没有

我想知道如何最好地处理这种情况。这是“high water”行为的另一个例子吗?切换到stream_request_body会产生更好的结果吗?或者,一旦流程达到某个阈值,是否更容易重新启动?在


Tags: 文件对象内存用户objgraphself应用程序进程