Оптимизация Apache
Настройка Apache подбирается индивидуально, в зависимости от ряда факторов, таких как:
примерное
количество пользователей, посещающих сайт, PHP скрипты, работающие на сайте и т.д.
Тем не менее, есть
ряд некоторых базовых советов по настройке Apache, которые будут актуальны для любой ОС — CentOS,
Ubuntu, Debian.
Прежде всего, сделайте резервную копию конфигурационных файлов:
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.backup
Несколько советов по оптимизации:
Отключайте модули, которые Вам не нужны. Это сэкономит множество ресурсов на обработке запросов. Для отключения модулей их можно просто закомментировать или удалить из файла конфигурации.
Обычно Вам не нужно ничего, кроме таких модулей:mod_alias
mod_authz_host
mod_deflate
mod_dir
mod_expires
mod_headers
mod_mime
mod_rewrite
mod_log_config
mod_autoindex
mod_negotiation
mod_setenvifMPM позволяет выбрать метод обработки параллельных запросов. Оптимальный вариант — Worker — поточный MPM. В нем каждый запрос обслуживается в отдельном потоке одного из дочерних процессов. Потоки — более легкие для ОС объекты, чем процессы. Следовательно, в этом случае производительность повышается.
Для включения Worker MPM, нужно открыть файл /etc/sysconfig/httpd и убрать комментарий со строки:
HTTPD=/usr/sbin/httpd.workerДиректива MaxClients устанавливает максимальное количество параллельных запросов, которые будет обрабатывать сервер. Эту настройку нужно адаптировать с течением времени, работайте в пределах значений в 128...4096.
Директива MaxRequestsPerChild устанавливает сколько запросов может обработать один дочерний процесс/поток прежде чем он будет завершен. По умолчанию значение этой директивы установлено в 0, что означает что однажды созданный процесс/поток не будет завершен никогда. Этот параметр позволяет избавиться от проблем с утечкой памяти, поэтому лучше установить его.
KeepAlive запросы позволяют устанавливать постоянные соединения между клиентом и сервером. Это экономит ресурсы на отсутствии повторной установки соединений. Обязательно включайте эту опцию.
KeepAlive On
KeepAliveTimeout 30Все современные браузеры поддерживают сжатие. Включение gzip существенно уменьшит размер трафика. Это нужно делать всегда.
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascriptПроверить, работает ли сжатие на Вашем сайте можно на данном ресурсе: highloadtools.com/gzip
Для применения изменений в конфигурационном файле необходимо перезапустить сервер Apache:
CentOS
service httpd restartDebian/Ubuntu
service apache2 restart
Читайте также как установить Apache.
Назад