Доброго времени суток. Можно ли каким нибудь образом посмотреть сколько времени уходит на выполнение каждого запроса в сценарии. Про сервис записи медленных запросов я знаю ,но там я так понимаю меньше секунды не поставишь. А у меня сайт стоит на локальной машине и любой даже медленный запрос выполняется меньше секунды. Давно уже озадачился этой проблемой но пока ничего не нашел. Единственное чем пока пользуюсь , это временными метками, но это не очень удобно. Да и после каждого запроса замучишся ставить. В идеале хотелось бы видеть лог выполнения сценария в котором отображается сам запрос, начало выполнения, время выполнения и завершение выполнения. Это реально (не вставляя непосредственно в код сайта запись протоколирование запросов)? Или вообще выевление перегруженных мест в коде как то по другому делается? У меня стоит стандартная связка Apache+PHP+MySQL.
Спасибо. Как вариант рассматривается. Я что то сам ступил, не догадался в функцию метки встроить. Но всежь хотелось что то типа внешнего мониторинга, не касаясь самого сценария. Или я ерундой озадачился и все делают примерно как вы предложили.
В mysql есть логи. Причем отдельно для "медленных" запросов. В некоторых фреймворках (например ZF) есть профайлеры запросов Zend_Db_Profiler.
Это я знаю. Просто как писал выше меньше секунды значение не ставится а у меня на локальной машине все запросы меньше секунды выполняются. Есть такая тема, согласен. Просто весь пакет не хочется ставить (ну , типа мы за лецензеонное ПО а оно совсем не дёшего). Или я чегото не понял?
ZF - бесплатен. У mysql есть свой профайлер. http://dev.mysql.com/doc/refman/5.0/en/ ... files.html Можешь его запускать при старте скрипта и снимать статистику при завершении.
Спасибо. Видимо действительно не правильно понял. Я просто не очень специалист. Так написать что нибудь могу а вот с серверами совсем начальный уровень. По первому, попробую поставить. По второму, я правльно понимаю, стартую с консоли потом выполняю сценарий из тогоже IE и потом смотрю в консоли результат. Или совсем уже туплю?
1й пробовать ставить бесполезно. Ты или пишешь с использованием фреймворка или не пишешь. Что касается второго. То тебе нужно не в консоли стартовать его. А в начале скрипта. примерно так PHP: mysql_query("SET PROFILING=1"); И в конце скрипта выводить результат PHP: mysql_query("SHOW PROFILE");
Ещё раз спасибо. По первому я понимаю что это. Попробовать поставить имелось ввиду как раз поработать в нем. По второму, интересно попробую. Похоже на то что как раз мне нужно. Я MySQL к сожалению пока на уровне запросов пользую. Туда, обратно, выбрать, сохранить ну и т.д. т.п.