Анализ лог-файлов и поиск "тяжелых" запросов к сайту
Автор:

Оптимизацию сайта можно провести на основании лог-файлов сервера.

Лог-файлы находится в папке logs домашнего каталога пользователя (например: logs/domain.by.access.log).

С целью анализа производительности и поиска 'тяжелых' cкриптов и запросов, в качестве последнего значения в строке лог-файла указана информация о времени генерации страницы сервером в микросекундах. Чем больше это время, тем больше ресурсов используется для работы сайта. Нормальным считается время генерации страницы, не превышающее 100000 мкс.

Пример строки из лога:

HTTP/1.0 200 43 'http://domain/index.php' 'Opera/9.80 (Windows NT 5.1; U; ru)' 1070

Здесь последнее значение '1070' - это время генерации страницы 'http://domain/index.php'.

 

Анализ логов можно также осуществить используя SSH (как активировать? - ссылка на статью).

Для этого необходимо перейти в папку logs и выполнить следующие команды:

 

Выводит на экран общее время обработки запросов за день для одного сайта.

cat domain.by.access.log | awk '{sum+=$NF} END{print sum}'

 

Информация по общему времени запросов за неделю:

zcat domain.by.access.log.[0-6]* | awk '{sum+=$NF} END{print sum}'

 

Информация по нагрузке за определенный день (вместо 4 можно использовать любое число от 0 до 9) :

zcat domain.by.access.log.[4]* | awk '{sum+=$NF} END{print sum}'

 

  

Поиск самого "тяжелого" запроса:

cat domain.by.access.log | awk '{print $NF}' | sort -n | tail 

 Выводит список последних столбцов (времени выполнения запроса) в порядке увеличения.

 

Копируем последнее значение - N

cat domain.by.access.log | grep N

выводит на экран строку из лога, в которой указан самый "тяжелый" запрос.

 

 

или использовать скрипт:

 a=`cat ./domain.access.log | awk '{print $NF}' | sort -n | tail`; grep -R "$a" ./domain.access.log


Если решение вопроса найти не удалось, Вы можете отправить нам заявку:



(6 голос(а))
Эта статья помогла
Эта статья не помогла

Комментарии (0)