imagemagick的高效服务器configuration

我正在操作一个由imagemagick处理大量图像编辑的系统。

现在对于一个新的服务器,我想知道哪些系统要求是最重要的,以提高imagemagick和图像编辑的性能,如转换和组成gif,jpgs和pngs。

图像的分辨率通常在800×400到1980×1080像素之间。 可能会同时处理多个图像。

我认为很多(快速)内存将是最重要的,但是即使在32位全高清也只需要8MB左右,所以也许CPU更重要?

任何见解都高度评价!

更新:
htop显示CPU是最可能的瓶颈。
由于imagemagick需要大量的资源,我可以想象,我会很快达到一个服务器的CPU限制。 任何想法如何可以dynamic平衡负载(可能有巨大的峰值)? 像amazon web services,但更快,因为图像在飞行中呈现?

处理这样的小图像(和1920×1080 小的)不需要太多的内存,CPU占主导地位。

您需要大量的CPU能力,如果您一次有很多图片进行转换,并行运行转换是一个好主意。 另外,因为CPU和更多内核的CPU并行运行很容易,所以更高的性能会带来更高的性能。 你只需要确保在同一时间运行许多工作。

换句话说,寻找具有最小内存(4-8GB)和多核心甚至多CPU的机器。 如果您使用亚马逊,那么高CPU实例是您正在寻找的。 对于非常大的负载,查看集群实例可能是个好主意。

根据转换请求的具体数量,您可能会有更好的水平伸缩运气 – 获得更多机器并将负载传播给它们。 但这取决于你的确切用例,搭配成本或虚拟机成本等。

从htop看来,CPU看起来是瓶颈。 它达到100%的工作量…

如果你的CPU挂钩,其他一切都在标称值,那么你需要添加莫尔CPU。

我已经完成了基于开源软件的photobooth项目,我们使用ImageMagick进行image processing。 我们已经尝试了x86和ARM v6 / v7平台。 不同的图像尺寸,不同的效果,图像的组合等我们已经testing了旧的x86 PC和ARM(Raspberry Pi)的256内存。 CPU是瓶颈,我们实际上无法使用1个内核来进行即时处理 – 在ARMv6上完成大约需要30秒,在P3上需要10秒,对于1 GHz最新的内核需要1秒。 这是一个CPU。 如果您是从命令行运行ImageMagick应用程序,那么您应该检查/ tmp,通常是tmpfs / shared memory。 对于我们来说,每张大幅打印图像大约需要64MB,由佳能相机的四个JPEG组合而成。 如果您一次运行多个进程 – 只需添加更多内核即可。

如何平衡负载? 取决于你的configuration,你的系统是如何工作的。 你使用Web服务,运行ImageMagick与PHP或有你自己的程序等…请澄清…

HAProxy可以让你在networking端的多个服务器之间进行“负载均衡”…并提供故障转移。