Статьи

Обнаружение узких мест в производительности на сервере Apache httpd

 «Хорошо поставленная проблема наполовину решена». — Джон Дьюи.

Одной из самых важных вещей, позволяющих хорошо выявлять проблемы с производительностью в системе LAMP, является понимание реальных процессов, вызывающих проблемы. Что нам делать? Один из способов начать с этого — правильно настроить протоколирование Apache таким образом, чтобы мы получали точные сведения о производительности каждого запроса. Ключевые параметры Apache httpd % B





Размер ответа в байтах, исключая заголовки HTTP.
% DВремя, необходимое для обслуживания запроса, в микросекундах.
% {VARNAME} еСодержимое переменной среды VARNAME.
% ТВремя, затраченное на обслуживание запроса, в секундах.
%ИКССостояние соединения после завершения ответа Как настроить? Измените файл httpd.conf в соответствии со следующей статьей :


LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy

Как мы анализируем это?
Файлы журналов Apache могут быть огромными (распространенный случай в системах, где есть проблемы с производительностью).
Полезный инструмент для анализа логов Apache, который   представил мне Cnaan Aviv , — это GoAccess . Этот инструмент генерирует отчеты, статистику и обнаруживает ошибки. 



Итог

Если все сделано правильно, решение проблем с производительностью не является черной магией. Это просто нужно сделать, используя четко определенный метод и правильные инструменты.
Продолжайте исполнять,