LINUX.ORG.RU

История изменений

Исправление lucentcode, (текущая версия) :

access.log анализировать можно(и нужно) с помощью стандартного набора из cat,tail,awk,sort и uniq.

С помощью конвеера из данных команд с нужными параметрами вы можете получить статистику по количеству запросов к тому или иному URL, статистику по количеству запросов для каждого или наиболее активных IP и т.п.

Но, как правило, одних логов в подобной ситуации не достаточно, что-бы понять почему именно длительное время висят запросы к скриптам сайта нужен strace одного из нагруженных обработчиков php-fpm.

Просто найдите обработчик php создающий наибольшую нагрузку(ps и atop), а потом трейсите по pid процесса. Трейсить лучше с опцией -o в файл, так как данных при вашей посещаемости будет скоре всего немало, затем нужно просто поискать места, где возникают Timeout, множественные ошибки доступа к файлам, или мелькают очень часто повторяющиеся идентичные блоки из набора определённых системных вызовов(такое бывает, если в результате логической ошибки код в скриптах где-то зациклен).

Если посещаемость ресурса большая, и из-за большого колчества запросов трейс затруднён, можно на время(к примеру ночью, когда посетителей меньше) перенаправить всех посетителей не с вашего внешнего ip на статический сайт-заглушку, тогда у вас появится пару десятков минут для вдумчивого трейса проблемных скриптов. И при этом запросы от других посетителей сайта не будут вам мешать трейсить скрипты сайта. Главное не забыть потом убрать заглушку:)

Исходная версия lucentcode, :

access.log анализировать можно(и нужно) с помощью стандартного набора из cat,tail,awk,sort и uniq.

С помощью конвеера из данных команд с нужными параметрами вы можете получить статистику по количеству запросов к тому или иному URL, статистику по количеству запросов для каждого или наиболее активных IP и т.п.

Но, как правило, одних логов в подобной ситуации не достаточно, что-бы понять почему именно длительное время висят запросы к скриптам сайта нужен strace одного из нагруженных обработчиков php-fpm.

Просто найдите обработчик php создающий наибольшую нагрузку(ps и atop), а потом трейсите по pid процесса. Трейсить лучше с опцией -o в файл, так как данных при вашей посещаемости будет скоре всего немало, затем нужно просто поискать места, где возникают Timeout, множественные ошибки доступа к файлам, или мелькают очень часто повторяющиеся идентичные блоки из набора определённых системных вызовов(такое бывает, если в результате логической ошибки код в скриптах где-то зациклен).

Если посещаемость ресурса большая, и из-за большого колчества запросов трейс затруднён, можно на время(к примеру ночью, когда посетителей меньше) перенаправить всех посетителей не с вашего внешнего ip на статический сайт-заглушку, тогда у вас появится пару десятков минут для вдумчивого трейса проблемных скриптов. И при этом запросы от других посетителей сайта не будут вам мешать трейсить скрипты сайта. Главно не забыть потом убрать заглушку:)