0

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

我想使用 CRON 每分钟生成例如 5 张图像。我已经考虑过其他解决方案 - 使用 sleep 让 CPU 休息一下。我是对的还是只是我的愚蠢想法?

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

对不起我的英语,来自波兰的克里斯 :)

4

1 回答 1

0

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

首先,您可以尝试优化您使用它的方式,例如,如果可能的话: - 使用 API 包装器而不是命令行调用 - 在单个“转换”命令中执行多个转换 - ... 来源: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=20130 http://www.azanweb.com/en/high-cpu-load -when-converting-images-with-imagemagick/

希望这会有所帮助!

于 2016-10-07T15:23:53.137 回答