Загрузка процессора PHP скриптами.(~offtopic)

netdog

net @
Загрузка процессора PHP скриптами.(~offtopic)

Народ, может кто сталкивался. Кто-нибудь знает...

Как можно узнать нагрузку на процессор определённых PHP скриптов на сервере. (Linix)
Например если их(скриптов) там Сотни а один из ста очень сильно грузит машину как найти его?
 

Vasya

Guest
- Запустить http-робота, который переберет все скрипты и замеряет время их работы и нагрузку на проц.
- Поместить в каждый скрипт кусок кода, который замеряет время его работы и запишет в лог.
- Обработать лог web-сервера. Из имеющейся там информации можно понять какой скрипт дает наибольшую задержку.
- Вести лог нагрузки на проц и сравнить его с логом сервера...
- и т.п.
 

netdog

net @
Поместить в каждый скрипт кусок кода, который замеряет время его работы и запишет в лог.
Можно, но задолбаешься... Да и в чужие скрипты не очень то охота сувать... :(
 

netdog

net @
тоже вариант но не выход...

Сложная ситуация довольно с этими скриптами, отследить всё это сложно...
 

aloner

Guest
В top'е смотреть pid'ы тормозных процессов апача, а потом глядеть url'ы в custom-логе со включенными pid'ами.
 

netdog

net @
Еще может помочь extended-status апача
В том то и дело что получается полная фигня php скрипт он же запускается как модуль апача. Вот и попробуй найди среди многих сотен процессов то что тебе нужно... Да там и чер-ти что получается....
 

aloner

Guest
Extended-status дает еще и CPU time для каждого процесса.
 

netdog

net @
[beep] потом смотреть
их тут _сотни_

запросов то 200 - 300 в секунду
и процессов апача одновременно воркающих штук 400

И как быть? :(
 

aloner

Guest
Ну тогда если так? :

1. В custom-лог ставишь %T
2. Пауком (wget ?) с той же машины (для чистоты эксперимента) несколько раз (или один раз) обходишь все скрипты
3. grep'ишь из лога запросы с локалхоста
4. в данном случае %T - это и будет время выполнения скрипта, так как затык сети можно не принимтаь во внимание
 
Сверху