Добрый день!
Столкнулся с проблемой, что некоторые страницы могут создавать нехилые нагрузки на сервер, но выяснить конкретно эти страницы бывает довольно сложно.
Существуют решения типа записи времени исполнения тех или иных страниц в access_log (с помощью модификатора %D в LogFormat в файле httpd.conf), но на выходе мы получаем только информацию по каждом клике отдельно.
Но было бы неплохо выяснить следующее:
1) какие именно страницы исполняются дольше всего?
2) в какое время это случается?
3) фильтр по дате/времени.
Какие существуют решения для этого?
К сожалению, гугл в этом не помог. По-хорошему понимаю, что этим должен заниматься системный администратор, но пока нужно, чтобы вы подсказали, хотя бы в сторону каких решений копать. Спасибо!
Что пришло в голову - это создать скрипт, который будет анализировать определенные логи и показывать, какие страницы в этом смысле прожорливые, но это - куча собственного времени. Неужели не существует готовых решений?
Параллельно использовал xdebug, но проблемных мест в коде не обнаружил. Неплохо также помогает mysql_slow_queries, но если нет прожорливых конкретных запросов (но много менее прожорливых на одной страницы) - поэтому тоже не панацея.
Задача не так в вылове медленных запросов (только частично), но в каком-то анализе: в этот час нагрузка была в среднем 400 мс с пиком в 1200 мс, в этот час - меньше. На такой странице - такая нагрузка. На такой - эта.
Ну или функционал, максимально похожий к этому.