Apache — это реализация веб-сервера с открытым исходным кодом, который является самым популярным веб-сервером во всем мире. Почти 70% веб-серверов в Интернете используют Apache. Хотя мы можем повысить производительность сервера Apache, добавив дополнительное оборудование, такое как ОЗУ, ЦП и т. д., мы также можем добиться того же результата, настроив конфигурацию Apache.
В этом посте объясняется, как повысить производительность Apache без добавления дополнительных аппаратных ресурсов в вашу систему.
Примечание : это руководство написано на сервере Ubuntu 14.04 версии 14.04.
MaxKeepAliveRequests
MaxKeepAliveRequests ограничивает количество запросов, разрешенных для одного соединения. Он используется для управления постоянными соединениями. В Ubuntu значением по умолчанию MaxKeepAliveRequests
является 100
. Вы можете изменить его на любое значение, которое пожелаете. Рекомендуемое значение MaxKeepAliveRequests
– от 50 до 75.
Вы можете изменить это знач
Contents
MaxKeepAliveRequests
фигурации Apache.sudo nano /etc/apache2/apache2.conf
Измените значение со 100 на 60.
MaxKeepAliveRequests 60
Сохраните файл и перезапустите Apache.
sudo /etc/init.d/apache2 restart
KeepAliveTimeout
KeepAliveTimeout определяет, как долго сервер ожидает нового запроса от подключенных клиентов. Установка высокого значения KeepAliveTimeout может вызвать проблемы с производительностью на сильно загруженном веб-сервере. В Ubuntu значением по умолчанию KeepAliveTimeout
является 15
. Рекомендуемое значение KeepAliveTimeout
– от 1 до 5.
Вы можете изменить это значение, отредактировав файл конфигурации Apache.
sudo nano /etc/apache2/apache2.conf
Измените значение с 15 на 3.
KeepAliveTimeout 3
Сохраните файл и перезапустите Apache.
МаксКлиенты
Он
KeepAliveTimeout
е на количество одновременных обслуживаемых соединений. Каждый новый запрос на подключение будет поставлен в очередь после достижения этого предела. Как только процесс будет освобожден, будет обслуживаться соединение в очереди. В Ubuntu значениемMaxClients
по умолчанию является 250
. Рекомендуется оставить это значение равным 150
.
Вы можете изменить это значение, отредактировав файл «mpm_prefork.conf».
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Измените значение с 250 на 150.
MaxClients 150
Сохраните файл и перезапустите Apache.
MaxConnectionsPerChild
Он используется для переработки процессов. Если для этого ограничения установлено значение 0
, для каждого процесса разрешено неограниченное количество запросов. MaxConnectionsPerChild устанавливает ограничение на
МаксКлиенты
которые будет обрабатывать отдельный дочерний процесс. После достижения указанного предела дочерний процесс умрет. В Ubuntu значениемMaxConnectionsPerChild
по умолчанию является 100
.
Рекомендуемые значения для этого параметра:
- виртуальный сервер 300
- сервер с 1–4 ГБ ОЗУ 500
- сервер с 4+ ГБ ОЗУ 1000
Вы можете изменить это значение, отредактировав файл «mpm_prefork.conf».
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Измените значение со 100 на 300.
MaxConnectionsPerChild 300
Сохраните файл и перезапустите Apache.
Сохранить активность
По умолчанию в Ubuntu для этого параметра установлено значение On
. Когда сервер Apache одновременно получает запросы от сотен и тысяч IP-адресов, этот параметр должен быть Off
. Рекомендуется отключить этот параметр, чтобы увеличить пропускную способность соединения.
Вы можете отключить этот параметр, отредактировав файл конфигурации A
MaxConnectionsPerChild
o nano /etc/apache2/apache2.confИзмените значение с On
на Off.
KeepAlive Off
Сохраните файл и перезапустите Apache.
MinSpareServers и MaxSpareServers
Он устанавливает желаемое минимальное и максимальное количество простаивающих дочерних серверных процессов. Он контролирует, сколько неиспользуемых дочерних процессов Apache будет поддерживать в ожидании новых запросов на их использование. Каждый дочерний процесс потребляет ресурсы, поэтому, если вы установите слишком высокое значение MaxSpareServers
, это может вызвать проблемы с ресурсами.
Рекомендуемые значения для MinSpareServers
:
- виртуальный сервер 5
- сервер с 1–2 ГБ ОЗУ 10
- сервер с 2–4 ГБ ОЗУ 20
- сервер с 4+ ГБ ОЗУ 25
Рекомендуемые значения для значения MaxSpareServers
должны быть установлены в два раза больше, чем MinSpareServers
.
Вы можете изменить значение MinSpareServers
на 5
и значение MaxSpareServers
на 10
, отредактировав файл «mpm_prefork»..conf».
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServers 10Сохранить активностьайл и перезапустите Apache.Заключение
Настроить Apache для достижения максимальной производительности очень просто. Вы также можете понять требования к веб-серверу и протестировать различные доступные варианты. Дополнительные советы по оптимизации Apache вы найдете в моем следующем посте. Не стесняйтесь комментировать, если у вас есть вопросы.
MinSpareServers и MaxSpareServers
Заключение