2013-05-28 74 views
0

我有一個使用Imagick來製作2D圖像(假透視圖)的3D效果的功能。 我必須一次處理大約10-30張圖像,這是問題所在。 我擔心CPU使用率,因爲我的服務提供商將CPU使用限制爲60秒。PHP - 處理圖像時減少CPU使用率

我想用CRON來生成每分鐘5張圖像。 我想過其他解決方案 - 使用睡眠給CPU一些休息。我是對的還是隻是我的愚蠢想法?

你會怎麼做? 服務提供商是OVH,服務很簡單。

對不起,我的英文,來自波蘭:)

+0

使用'at'系統按順序安排作業。腳本處理圖像,然後通過'at'安排自己立即執行,並且下一個腳本執行另一個圖像,通過'at'重新安排自己,等等...... –

+0

這是選項。我可以做一個圖像列表 - 例如創建一些包含圖像處理的表格,並使用CRON任務簡單地執行腳本。 – Krzysztof

回答

0

我有同樣的問題,並希望減少ImageMagick的CPU使用率 克里斯...

首先,你可以嘗試優化您使用它的方式,例如,如果可能的話: - 使用API​​的包裝,而不是命令行調用 - 做了幾次改變在一個單一的「轉換」命令 - ... 來源:http://www.imagemagick.org/Usage/api/#speed

然後,到c ImageMagick的的ONTROL CPU使用率,並處限制使用的系統資源(和許多ither的東西),你可以設置一個安全策略文件 來源:http://www.imagemagick.org/script/security-policy.php

或者你可以嘗試做同樣的事情,直接使用環境變量,如「MAGICK_THREAD_LIMIT = 1」或「MAGICK_THROTTLE」(系統ENV命令行或直接在例如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/

希望這個會有幫助!