【问题标题】:PHP - reduce CPU usage while processing imagesPHP - 在处理图像时减少 CPU 使用率
【发布时间】:2013-05-28 17:19:38
【问题描述】:

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

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

你会怎么做? 服务商为OVH,服务为简单托管。

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

【问题讨论】:

  • 使用at 系统按顺序安排作业。脚本处理一个图像,然后通过at 安排自己立即执行,然后下一个脚本执行另一个图像,再次通过at 安排自己,等等...
  • 这是选项。我可以做一个图像列表 - 例如创建一些包含图像的表来处理并使用 CRON 任务简单地执行脚本。

标签: php cpu-usage


【解决方案1】:

我也有同样的问题,想降低 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/

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 2013-06-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2017-04-04
    相关资源
    最近更新 更多