Проблема тестирования 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
,