
Конфигурация
Настройка Apache проводится в конфигурационном файле. Его можно найти:Debian
/etc/apache2/apache2.conf
Freebsd
/usr/local/etc/apache22/httpd.conf
Модули
Отключайте модули, которые Вам не нужны. Это сэкономит множество ресурсов на обработке запросов. Модули Apache обычно поставляются как плагины (DSO), поэтому их включение и отключение делается просто через конфигурационный файл.Обычно Вам не нужно ничего, кроме таких модули:
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_setenvif
MPM
MPM позволяет выбрать метод обработки параллельных запросов. Оптимальный вариант — Worker — поточный MPM. В нем каждый запрос обслуживается в отдельном потоке одного из дочерних процессов. Потоки — более легкие для ОС объекты, чем процессы. Следовательно, в этом случае производительность повышается.
Для включения Worker MPM, нужно открыть файл
nano /etc/sysconfig/httpdи убрать комментарий со строки
HTTPD=/usr/sbin/httpd.workerПерезапустим Apache
/etc/init.d/apache2 restart
AllowOverride и .htaccess
Директива AllowOverride включайте использование файла .htaccess. В этом случае при каждом запросе Apache будет искать этот файл в запрашиваемых директориях. Перемещайте всю конфигурацию в файлы виртуальных хостов (папка /etc/apache2/sites-enabled/ для Debian) и отключите использование htaccess:AllowOverride None
MaxClients

MaxClients 256Если сервер уже обслуживает MaxClients запросов, новые запросы попадут в очередь, размер которой устанавливается с помощью директивы ListenBacklog.
MinSpareServers, MaxSpareServers, и StartServers
Эти директивы позволяют заранее иметь в памяти созданные процессы, чтобы не приходилось этого делать во время получения запроса. Они устанавливаются только для prefork mpm.StartServers 3
# При запуска Apache будет создавать 3 процесса
MinSpareServers 3
# Apache не будет убивать свободные процессы, если их остается менее трех
MaxSpareServers 5
# Максимум 5 свободных процессов, остальные будут уничтожаться
MaxRequestsPerChild
Директива MaxRequestsPerChild устанавливает сколько запросов может обработать один дочерний процесс/поток прежде чем он будет завершен. По умолчанию значение этой директивы установлено в 0, что означает что однажды созданный процесс/поток не будет завершен никогда. Этот параметр позволяет избавиться от проблем с утечкой памяти, поэтому лучше установить его:MaxRequestsPerChild 4096
# После 4096 обработанных запросов процесс будет перезапущен
KeepAlive
KeepAlive запросы позволяют устанавливать постоянные соединения между клиентом и сервером. Это экономит ресурсы на отсутствии повторной установки соединений. Обязательно включайте эту опцию.KeepAlive On
KeepAliveTimeout 30
# Включаем KeepAlive и устанавливаем время ожидания перед закрытием соединения в 30 секунд
Бывают случаи, когда пользователь отправляет только один запрос.
Например, download-сервер. Тогда KeepAlive может быть бесполезен и даже
вреден, т.к. при включенном KeepAlive сервер закрывает соединение не
сразу, а ждет какое-то время (KeepAliveTimeout).
Сжатие

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
Проверьте, что сжатие заработало с помощью Online Gzip checker.
DNS

HostnameLookups Off
# Так Apache будет записывать в лог IP адрес клиента вместо его хоста.
Всегда используйте IP адрес в директивах Allow From и Deny From, а не доменные имена.
Allow From 1.1.1.1 Deny From 2.2.2.2
Самое важное
Самым большим эффектом на посетителей окажет включение сжатия gzip. Часто это экономит около 70% трафикаhttp://ruhighload.com/index.php/2009/05/27/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8-apache/
Комментариев нет:
Отправить комментарий