PHP -在处理图像时减少CPU使用


PHP - reduce CPU usage while processing images

我有一个函数,它使用Imagick使2D图像的3D效果(假透视)。我必须一次处理大约10-30张图像,这就是问题所在。我很担心CPU使用率,因为我的服务提供商限制了60秒的CPU使用率

我想使用CRON来生成例如每分钟5个图像。我已经想到了其他的解决方案-使用睡眠给CPU一些休息。是我说对了还是这只是我的蠢主意?

你会怎么做?服务提供商是OVH,服务是简单的托管。

对不起我的英语,来自波兰的Chris:)

我也有同样的问题,想要减少imagemagick的CPU使用率…

首先,你可以尝试优化你使用它的方式,例如,如果可能的话:-使用API包装器而不是命令行调用-在一个'convert'命令中执行多个转换-…来源:http://www.imagemagick.org/Usage/api/#speed

然后,为了控制imagemagick的CPU使用情况,并对使用的系统资源施加限制(以及许多其他事情),您可以设置一个安全策略文件来源:http://www.imagemagick.org/script/security-policy.php

或者您可以尝试直接使用环境变量做同样的事情,例如"MAGICK_THREAD_LIMIT=1"或"MAGICK_THROTTLE"(例如在命令行或直接在PHP脚本中设置在系统环境中)来源:http://www.imagemagick.org/script/resources.php#environment

也请阅读作为一个开始这些有趣的帖子:http://www.imagemagick.org/discourse-server/viewtopic.php?t=20130http://www.azanweb.com/en/high-cpu-load-when-converting-images-with-imagemagick/

希望这对你有帮助!