繁体   English   中英

带Photologue的Django:用于图像调整大小请求的100%CPU(Python图像库)

[英]Django w/ Photologue: 100% CPU for Image-Resizing Requests (Python Imaging Library)

我已经使用Django创建了一个使用Photologue应用程序(取决于Python Imaging Library)的照片托管网站。 当用户上传照片时,会为每个照片生成多张调整大小的照片(例如,小/中/大,缩略图等)。 问题在于,调整大小的过程会占用100%的CPU,从而使Django几乎无法处理并发请求(一个数量级,甚至更慢)。 除非我不在这里,否则似乎我必须以某种方式限制此CPU使用率。

我尝试使用“ cpulimit”命令来限制PID上的CPU百分比使用,以查看是否可以解决问题,但这似乎没有效果。 我可以通过PIL限制CPU使用率吗? 我缺少一些方法吗? 我的服务器是Ubuntu EC2微型层,因此缺少RAM / CPU能力是否会成为问题? 似乎不太可能是问题所在,因为只有两个同时出现的用户会发生此问题。

更新:按照安德烈的建议,我已经升级到Django 1.4.1,这使得开发服务器允许并发请求。 但是,由于PIL占用了CPU,它的运行速度仍然令人难以忍受。

您可以使用最新的Pillow (调整大小通常比原始PIL快7倍)甚至Pillow-SIMD (快30倍)来加快处理速度

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM