Назад | Перейти на главную страницу

Максимальное количество одновременных пользователей Apache 2.4

Я не могу определить, сколько пользователей может обрабатывать мой экземпляр apache.

Я установил Apache 2.4.18 из репозитория Ubuntu, насколько я помню, все настройки по умолчанию.

Я провел стресс-тест сервера и обнаружил, что при превышении 300 текущие запросы, сервер начинает отбрасывать новые, обслуживая код ответа 502 или 504.

Я попытался найти объяснение этому в файле конфигурации сервера и документации, но мне не удалось выяснить, откуда взялось это число «300».

я использую mpm_prefork, с таким конфигурационным файлом:

<IfModule mpm_prefork_module>
        StartServers                     5
        MinSpareServers           5
        MaxSpareServers          10
        MaxRequestWorkers         150
        MaxConnectionsPerChild   0
</IfModule>

Некоторые из свойств от apache2.conf:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 5

Итак, вопрос каково максимальное количество одновременных клиентов Apache DEFAULT в моей (по умолчанию) конфигурации? Меня не интересует настройка Apache для обработки как можно большего количества подключений - только для того, чтобы понять, как Apache вычисляет максимальное количество одновременных клиентов.

По Apache документация,

Для непоточных серверов (например, prefork), MaxRequestWorkers переводится в максимальное количество дочерних процессов, которые будут запущены для обслуживания запросов. Значение по умолчанию - 256.

В зависимости от вашей доступной оперативной памяти настройки по умолчанию часто бывают слишком высокими.

Чтобы определить правильную настройку, посмотрите на средний размер процесса Apache, чтобы получить использование x МБ. Подумайте, сколько памяти вы хотите оставить доступной для других процессов y МБ, и используйте эту формулу для prefork.

(Total RAM – yMB)/xMB = MaxRequestWorkers

ПРИМЕЧАНИЕ: значение "y" всегда будет по крайней мере 500 МБ только для самого Apache и операционной системы, и, возможно, потребуется больше в зависимости от других приложений.

Что касается остальных значений, то Документация Apache неоднократно советует не повышать эти значения, за исключением «очень загруженных сайтов», из которых по определению сайт, имеющий, например, всего 2–4 ГБ ОЗУ, никогда не будет. Подойдет следующее:

StartServers         2
MinSpareServers      5
MaxSpareServers     10

Для дополнительной информации вы можете посмотреть Документация Apache для настройки производительности этой проблемы.