Проблема тестирования Apache/ab - apr_socket_recv: соединение отказано (111)
У меня проблема с тестированием Apache server 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 виновен.
1 ответ
-c опция ab для параллелизма. Таким образом, вы говорите ему сделать 1000 одновременных запросов. Число подключений по умолчанию, обслуживаемых Apache, по умолчанию составляет 150 в Windows. Вот почему параллелизм в 100 успешно выполняется, а параллелизм в 1000 - неудачно.
Если вы так склонны (и ваш сервер может взять на себя нагрузку), вы можете увеличить ThreadsPerChild до 1000 в mpm_winnt_module раздел httpd-mpm.conf, Также убедитесь, что httpd-mpm.conf не комментируется в httpd.conf,