Оптимизация производительности Apache на CentOS 7
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 4060
Комментарии: 0
Ранее я писал как оптимизировать вебсервер Apache в CentOS 6 — https://moonback.ru/page/f5-defense. Теперь пришла пора написать инструкцию для CentOS 7, тем более, что некоторые инструкции будут выглядеть несколько иначе.
Prefork Apache на CentOS 7
Статья актуальна для серверов с небольшим объемом оперативной памяти и когда Apache использует MPM модуль Prefork. Он используется по-умолчанию при установке Apache на CentOS 7. Проверить можно командой в консоли:
# apachectl -t -D DUMP_MODULES |grep mpm
Вы должны увидеть mpm_prefork_module (shared)
Оптимальная конфигурация Apache
Отредактируйте файл httpd.conf, добавьте в него нижеследующий код. Параметры сбалансированы для сервера с размером оперативной памяти 512 МБ:
KeepAlive Off <IfModule prefork.c> StartServers 2 MinSpareServers 6 MaxSpareServers 12 MaxClients 15 MaxRequestsPerChild 3000 </IfModule>
В качестве альтернативного варианта этот код можно внести в отдельный файл с расширением .conf и сохранить его в директории /etc/httpd/conf.d. После внесения изменений в конфигурационные файлы не забудьте перезапустить вебсервер Apache:
# apachectl restart
Описание параметров
Так как все основные параметры были описаны в предыдущей статье — https://moonback.ru/page/f5-defense, я остановлюсь только на KeepAlive. Значение Off запрещает более одного соединения от одного посетителя. Это предотвращает чрезмерное потребление ресурсов сервера одним клиентом.
Благодарности
При написании статьи были использованы следующие источники: