Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   При выполнении скрипта php процесс System съедает 30-50% CPU.. почему и как избежать? (http://forum.oszone.net/showthread.php?t=194572)

evg64 21-12-2010 00:22 1570786

При выполнении скрипта php процесс System съедает 30-50% CPU.. почему и как избежать?
 
Добрый день!
Сабж) Чуть-чуть о скрипте: исполняется долго, шлет HTTP-запросы на сайты и обрабатывает пришедшие ответы.
Версия php 5.3. Процесс, исполняющий скрипт, - php-cgi.exe

Sham 21-12-2010 16:11 1571328

Значит столько требует...

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

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

evg64 21-12-2010 19:06 1571457

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

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

Sham 21-12-2010 19:47 1571486

Возможно, это баг интерпретатора в конкретной ОСи. Особо узнать причину вряд ли получится, нужно тестировать. Это мб баг (если баг) проявляется с какой-то версией системного драйвера (например, при использовании сокетов), или брандмауэра... пишите разработчикам PHP.
Цитата:

Цитата evg64
А что значит ставить паузы в циклах? »

sleep, usleep.... (например, перед каждым запросом).


Время: 10:25.

Время: 10:25.
© OSzone.net 2001-