S3FilesStore 可能会占用大量内存
作者: kmike创建于 2013年12月5日更新于 2026年9月7日
标签bugsecurityS3media pipelines
顿
@nramirezuy和我在一段时间前正在调试一只蜘蛛的记忆问题,它似乎是由Images Pipeline + S3FilesStore引起的. 我还没证实那是记忆问题的原因 这张票完全是基于读取源代码
文件Pipeline将整个文件读取为内存,然后将上传到线索(通过"S3FilesStore.persist file",以字节的形式传递文件内容). 因此可以同时加载到内存的文件很多,一旦文件下载速度快于被上传到s3,内存用量会增长. 这并非不可能 因为S3不是超快的 对于Images Pipeline来说,情况更糟,因为它不仅上传了图像本身,而且还上传了生成的缩略图.
我认为S3FilesStore在上传到S3之前,应该坚持文件到临时地点(至少可以选择). 这将允许流文件不存储在内存中.
内容来源: scrapy/scrapy