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

Проблема с тестированием Apache / ab - apr_socket_recv: соединение отклонено (111)

У меня проблема с тестированием Сервер Apache 2.4 по ab. Сервер Apache работает в Windows как служба, и я тестирую его с другого сервера, который находится в Linux.

Я пишу:

 ab -n 1000 -c 1000 "http://x.x.x.x/image.jpg"

Вывод:

 This is ApacheBench, Version 2.3 <$Revision: 655654 $>
 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
 Licensed to The Apache Software Foundation, http://www.apache.org/

 Benchmarking x.x.x.x (be patient)
 apr_socket_recv: Connection refused (111)

когда -n и -c 100, проблем нет. Я тестировал его ранее, и все было в порядке, но внезапно он начал вылетать. Все перепробовал, даже использовал mpm_winnt_module, но это не помогло.

(Я использую значения по умолчанию в Apache.)

Полагаю, это не проблема сети. Я вижу в Wireshark, что через некоторое время связь сбрасывается. По мне виноват Apache.

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

Если вы так настроены (и ваш сервер выдерживает нагрузку), вы можете увеличить ThreadsPerChild до 1000 в mpm_winnt_module раздел httpd-mpm.conf. Также убедитесь httpd-mpm.conf раскомментирован в httpd.conf.