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

Директива 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 - Тестирование по локальной сети вряд ли будет точным.
  2. Как вы думаете, почему он должен наконец ответить TCP RST?
  3. Вместо этого вы можете сделать это с помощью Netfilter, но причины неясны; такое поведение WEB-сервера совсем не удобно для пользователя.