Войти

Показать полную графическую версию : При выполнении скрипта php процесс System съедает 30-50% CPU.. почему и как избежать?


evg64
21-12-2010, 00:22
Добрый день!
Сабж) Чуть-чуть о скрипте: исполняется долго, шлет HTTP-запросы на сайты и обрабатывает пришедшие ответы.
Версия php 5.3. Процесс, исполняющий скрипт, - php-cgi.exe

Sham
21-12-2010, 16:11
Значит столько требует...

Это вопрос логики скрипта, объема данных, приоритета процесса, работы интерпретатора PHP, мощности железа....
Оптимизируйте скрипт, пробуйте разные версии PHP...
В цикле ставьте паузы, обрабатывайте меньшие объемы за раз, используйте более щадящие функции и т.д. например str_replace вместо preg_replace, где это возможно.

Нужно пробовать разные варианты.

evg64
21-12-2010, 19:06
Но если бы скрипт был ресурсозатратным и требовал бы больших вычислений от машины, то ведь процесс php-cgi.exe (в моем случае) ел бы CPU. Почему же System так много требует на себя?

А что значит ставить паузы в циклах? break;?

Sham
21-12-2010, 19:47
Возможно, это баг интерпретатора в конкретной ОСи. Особо узнать причину вряд ли получится, нужно тестировать. Это мб баг (если баг) проявляется с какой-то версией системного драйвера (например, при использовании сокетов), или брандмауэра... пишите разработчикам PHP.
А что значит ставить паузы в циклах? »
sleep, usleep.... (например, перед каждым запросом).




© OSzone.net 2001-2012