调整Apache和服务器的海量照片上传

我有一个运行在EC2平台上的Apache webserver。 它从用户接收大量的上传(大图片文件)。

问题是,上传后,我必须立即将图像转换为其他尺寸,因为它们必须在“下一页”中使用。

我select了ImageMagick,因为我注意到即使Flickr使用它( http://highscalability.com/flickr-architecture ),大约需要4秒钟来生成所有的照片尺寸。

问题是当我有50个并发用户或更多。 我做了压力testing,服务器开始变慢。

那么,有没有想法如何调整Apache的大量上传?

任何想法如何更快地做到一切?

从它的声音你的问题不是阿帕奇,而是试图做并发的image processing工作的服务器上的负载。 鉴于此,无论您如何调整apache,随着越来越多的用户使用您的服务,您的性能仍然会变差。

第一个build议是将图像卸载到专用image processing的一组机器上。 这比扩展你的web服务器来处理大规模image processing的可扩展性要好得多。

我们有类似的问题,通过使用--disable-openmp选项重新编译Imagemagick来改善性能,这会由于内部线程(未使用/不需要)而对CPU造成高度紧张。

find答案后,我降落在这个线程,指示我禁用上述function,我相信它会提高您在创build图像的性能。

http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=14307

获得更多的CPU能力,更多的内存(RAM) – 图像resize是一个计算上和往往是内存密集型操作,如果你做得太多,你需要更强大的硬件规格。

如果您在单个图像上执行多个大小调整,请尝试确保按大小递减顺序执行大小调整,以便稍后使用较小的源图像执行大小调整(提供此值可以提供可接受的质量)。

也许你应该重新编译ImageMagick以使用Q8,8位通道深度。 如果使用JPEG文件,这可能会导致严重的性能增益,因为将使用更less的内存。