Максимальное количество клиентов Apache Prefork не может превышать 256 [закрыто]

Я управляю сервером Centos 6.6 (с истекшей лицензией cpanel / возможно, это не важно) с 8 ядрами и 64 ГБ ОЗУ, и мой HTTP-сервер становится очень медленным, когда он достигает от 250 до 300 одновременных подключений.

Когда я узнал о конфигурации предварительной вилки mpm как о решении для повышения производительности сервера, я поискал параметры в файле httpd.conf и во всех его включениях, но там ничего не было.Похоже, мой apache использует параметры mpm по умолчанию.

Итак, я попытался добавить новую конфигурацию и заметил некоторые изменения в максимальном количестве клиентов на моей веб-странице mod_status. Когда я помещаю значения для ServerLimit и MaxClients меньше 256, отображение состояния сервера изменяется, но когда я пробую значение больше 256 , оно просто останавливается на 256.

Вот краткая версия страницы состояния сервера с MaxClients и ServerLimit , установленным на 257 , однако отображается ровно 256 слотов в 4 линии 64 рабочих. copmare с http://apache.org/server-status

Server Version: Apache/2.4.10 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4
Server MPM: prefork
Server Built: Jan 23 2015 21:04:30

--------------------------------------------------------------------
Current Time: Thursday, 12-Feb-2015 19:15:49 CET
Restart Time: Thursday, 12-Feb-2015 19:13:41 CET
Parent Server Config. Generation: 266
Parent Server MPM Generation: 265
Server uptime: 2 minutes 8 seconds
Server load: 0.76 0.66 0.63
Total accesses: 7771 - Total Traffic: 296.0 MB
CPU Usage: u3.76 s.62 cu77.6 cs7.05 - 69.6% CPU load
60.7 requests/sec - 2.3 MB/second - 39.0 kB/request
256 requests currently being processed, 0 idle workers

WWWWWKWKWKWWRRWWWKKWKKWWWKKWWWCKKKWWWWWKKWCWWWWWKKCWWKKWKCWKRCWW
WWWKKKKKWKWKWWWCWWKKWWRWKKRWWCWKWWWWKKKKKKWKCKWKKKKKWCWKCWWWKWRW
KWKKCKKKWKWKWWKLWWWKWWKCCCWKWWKKKKKWKWWKWWKKKWKWWCCRKKCCWKKWKWCW
CWKKRKKWWKRKKWWWWKWWWKWWKKWKKKWWWKWWWKLKWWKWWKKKKWWWKWWKRKWKWCWW

Как я могу решить эту проблему? На самом деле мне нужно настроить параметры предварительной вилки, чтобы одновременно обслуживать 10000 клиентов. { {1}} Я не могу использовать NGINX для обслуживания статических файлов.

Я также хочу получить больше информации о конфигурации MPM во время выполнения.

Есть какие-нибудь подсказки?


Изменить: вот сегмент конфигурации mpm, который я добавил

<IfModule prefork.c>
    Mutex default mpm-accept

# BEGIN : CUSTOM CONFIGURATION - all the following code is added by me
#    StartServers         6
#    MinSpareServers      6
#    MaxSpareServers     12

## Whatever the value (> 256) I enter for those two parameters, it doesn't exceed 256 in runtime (as shown in server-status page)
    ServerLimit        512 
    MaxClients         512
# END : CUSTOM CONFIGURATION
</IfModule>

С двумя параметрами без комментариев, указанными выше, я не мог понять, как увеличить лимит 256. Что-то не хватает?

0
задан 12 February 2015 в 20:19
2 ответа

Я решил проблему.

Проблема: Значения ServerLimit и MaxClients выше 256 не действуют, они остаются на уровне 256.Каждый раз, когда я меняю что-то в httpd.conf, а затем перезапускаю apache с помощью команды:

# httpd restart

На самом деле ничего не изменилось.

Решение: Убедитесь, что httpd полностью остановился, а затем запустите его снова. Команда, которая у меня сработала вместо приведенной выше:

#httpd stop
#httpd start

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

Спасибо за ваши ответы и поправьте меня, если я Я ошибаюсь.

2
ответ дан 4 December 2019 в 17:03

Вы должны играть с apache conf , mpm conf .

Этот блог рассказывает о том, как делать математику : https://rudd-o.com/linux-and-free-software/tuning-an-apache-server-in-5-minutes

-1
ответ дан 4 December 2019 в 17:03

Теги

Похожие вопросы