Директива listenbacklog не работает в apache2.2
Я пытался заставить apache 2.2 отклонять соединения, если был достигнут MaxClients, для этого я нашел директиву ListenBacklog. Чтобы проверить это, я настроил apache следующим образом:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 10
ListenBacklog 1
MaxRequestsPerChild 0
</IfModule>
Я сделал небольшой скрипт в JMeter, чтобы проверить это. Тест запускает 50 пользователей за 1 секунду (он запрашивает страницу phpinfo), но никто не отклоняется, все они ждут! Я не понимаю, как работает эта директива... моя операционная система - Ubuntu.
1 ответ
Решение
- http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/023/2333/2333s2.html - Тестирование по локальной сети вряд ли будет точным.
- Как вы думаете, почему он должен ответить с TCP RST наконец?
- Вы можете сделать это с Netfilter вместо этого, но причины неясны; такое поведение WEB-сервера совсем не удобно для пользователя.