butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как выявлять медленные элементы в работе PHP?

Здравствуйте, вот написал я php приложение, но иногда страница обрабатывается до 20 секунд. Как мне выявить долгие места и ускорить их работу? Есть ли где-то руководство по этому поводу и наиболее правильный путь?
  • Вопрос задан
  • 2664 просмотра
Решения вопроса 4
@driver_by
Есть профайлеры xdebug и xhproof - дают всяческую информацию о выполнении скрипта (время, память и т.п.). Если нет желания с ними разбираться, то можно просто найти медленное место выполнения при помощи microtime().
$timeStart = mictotime(true);
....
var_dump(mictotime(true) - $timeStart);   // получаем время выполнения куска кода в мс
Ответ написан
Комментировать
Руководства особого нет. Правильный путь: вставлять в код временные метки и выполнять его. Ставите одну временную метку в начало кода, другую в середину, третью - в конец. Выполняете код, смотрите между какими двумя временными метками код выполнялся критический промежуток времени. Далее делите выявленный промежуток еще на два-три и смотрите какой из них выполняется долго, и так пока не определите проблемное место кода.

Если в коде идет обращение к mysql - стоит включить mysql-slow-log и смотреть какие запросы выполняются больше, к примеру, секунды.
Ответ написан
Комментировать
dmitriylanets
@dmitriylanets
веб-разработчик
1. Настроить xdebug
2. Запустить проблемную страницу
3. Просмотреть отчет с помощью webgrind
Ответ написан
Комментировать
akubintsev
@akubintsev
Опытный backend разработчик
xdebug + xhprof
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
С большой вероятностью у вас не php а база работает медленно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы