«Хорошо поставленная проблема наполовину решена». — Джон Дьюи.
Одной из самых важных вещей, позволяющих хорошо выявлять проблемы с производительностью в системе 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 . Этот инструмент генерирует отчеты, статистику и обнаруживает ошибки.
Итог
Если все сделано правильно, решение проблем с производительностью не является черной магией. Это просто нужно сделать, используя четко определенный метод и правильные инструменты.
Продолжайте исполнять,