1

我用 Django 创建了一个照片托管网站,该网站使用 Photologue 应用程序(依赖于 Python Imaging Library)。当用户上传照片时,会为每张照片生成多张调整大小的照片(例如小/中/大、缩略图等)。问题是调整大小的过程占用了 100% 的 CPU,使得 Django 几乎无法处理同时请求(一个数量级,或者更多,更慢)。除非我离开这里,否则我似乎必须以某种方式限制这种 CPU 使用率。

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

更新:根据 Andre 的建议,我已经升级到 Django 1.4.1,这使得开发服务器允许并发请求;但是,由于 PIL 占用了 CPU,它仍然慢得无法忍受。

4

1 回答 1

0

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

于 2016-10-09T10:49:39.520 回答