Как увеличить максимальное количество подключений в Apache

По умолчанию веб-сервер Apache настроен на поддержку 150 одновременных соединений. При увеличении посещаемости вашего сайта Apache начнет отбрасывать дополнительные запросы, что приведет к ухудшению качества обслуживания клиентов. Вот как увеличить максимальное количество соединений в Apache, чтобы поддерживать сайты с высокой посещаемостью.

Как увеличить максимальное количество подключений в Apache

Ниже описаны шаги для увеличения максимального количества подключений в Apache.

1. Установите модуль MPM

Нам необходимо установить модуль MPM Apache, чтобы иметь возможность обслуживать большое количество одновременных соединений. Для этого можно использовать модуль mpm_worker или mpm_event, вместо модуля mpm_prefork, который потребляет много памяти.

Вы можете легко установить модуль MPM в Apache с помощью следующей команды

CentOS или RHEL: измените /etc/httpd/conf.modules.d/00-mpm.conf

Закомментируйте строку LoadModule mpm_prefork_module modules/mod_mpm_prefork.so, добавив перед ней #.

Откомментируйте строку LoadModule mpm_worker_module modules/mod_mpm_worker.so, убрав # перед ней.

Ubuntu/Debian: используйте a2dismod / a2enmod для отключения mpm_prefork и включения mpm_worker

2. Увеличение максимального количества подключений в Apache

Откройте файл конфигурации MPM:

CentOS/RHEL

Ubuntu/Debian

Вы увидите следующие строки

Вы можете изменить их на следующую конфигурацию, которая поддерживает до 8000 одновременных пользователей

Вы также можете добавить приведенные выше строки в файл конфигурации веб-сервера Apache или файл конфигурации виртуального хоста.

Давайте быстро рассмотрим параметры

  • Serverlimit - Максимальное количество процессов Apache
  • StartServers - Количество процессов, запускаемых при запуске Apache
  • MinSpareThreads/MaxSpareThreads - количество потоков, которые должны простаивать, не будучи убитыми
  • ThreadsPerChild - количество потоков на процесс
  • MaxRequestWorkers - Количество поддерживаемых одновременных соединений. Это основная директива, которую необходимо изменить для увеличения максимального количества соединений в Apache
  • MaxConnectionsPerChild - количество соединений, которое должно быть обработано каждым дочерним процессом, прежде чем он будет убит

3. Перезапустите сервер Apache

Перезапустите веб-сервер Apache, чтобы применить изменения.

Ubuntu/Debian

CentOS/Redhat/Fedora

Понравилась статья? Поделиться с друзьями:
Добавить комментарий