ab (Apache Bench) ошибка: apr_poll: указанный тайм-аут истек (70007) в Windows

Я выполняю нагрузочное тестирование IIS 7.5 (WinR2/SP1) с моего клиента Windows 7/SP1. У меня есть скрипт, который делает три вызова ab, например:

start /B cmd /c ab.exe -k -n 500 -c 50 http://rhvwr2vsu410/HelloWebAPI/Home/SyncProducts > SyncProducts.txt

Когда параллелизм > 5, я вскоре получаю сообщение об ошибке

apr_poll: The timeout specified has expired (70007)

И ab перестает делать запросы. Я даже не дошел до Выполнено 100 запросов.

Это происходит в течение 30 секунд после запуска моего скрипта. Страница документации ab содержит немногое. Связанный вопрос о переполнении стека. вопрос, связанный со сбоем сервера .


person RickAndMSFT    schedule 17.04.2012    source источник
comment
Аналогичная вещь случилась и со мной. Проблема была связана с моим кодом. Хотя не уверен, что здесь так.   -  person tugberk    schedule 17.04.2012
comment
@tugberk - точно, ошибка в моем ограниченном параллелизме кода WebApi. Как только я исправил ошибку, сообщение apr_poll исчезло.   -  person RickAndMSFT    schedule 21.04.2012
comment
Вы можете попробовать решение, данное в этой теме: serverfault.com/questions/10852/   -  person Sivaraman Viswanathan    schedule 03.09.2012
comment
Я думаю, что этот вопрос устарел, но я все еще получаю эту проблему из командной строки, например. ab http://myinternalserver.tld/file.txt, но это работает, когда я добавляю -X 127.0.0.1:8888 для прохождения моего локального прокси-сервера отладки, и он работает с помощью curl. Любые подсказки?   -  person jacobq    schedule 12.03.2014


Ответы (4)


У вас должна быть версия 2.4 и используйте параметр -s timeout.

Редактировать:

https://www.wampserver.com/ — включает Apache 2.4.x Win32 и Win64.

Устарело, но все еще доступно, однако я не знал до тех пор, пока:

Вы можете использовать мой двоичный файл win32-x86 (скомпилированный в Visual Studio 2008 из ствола 8 февраля 2013 г.):

Я сделал это с помощью: http://code.google.com/p/apachebench-standalone/wiki/HowToBuild и http://ftp.ps.pl/pub/apache//apr/binaries/win32/apr-1.3.6-iconv-1.2.1-util-1.3.8-win32-x86-msvcrt60.zip (просто недоступен).

person Dzwiedziu-nkg    schedule 08.02.2013
comment
Автономный исполняемый файл жалуется, что отсутствует libapr-1.dll. - person Uwe Keim; 10.02.2013
comment
А с версией 2.2 используйте опцию -t timelimit - person Ponytech; 13.05.2013
comment
Если вы не можете скачать или он не работает, пожалуйста, сообщите мне, а не отрицайте. - person Dzwiedziu-nkg; 13.01.2014
comment
Некоторая библиотека, вероятно, отсутствует, но она работает, когда ab-standalone.exe выполняется из apache22/bin (поэтому требуется установка apache 2.2). - person rafalmag; 12.11.2014
comment
@Dzwiedziu-nkg Привет! Интересно, где я могу найти версию 2.4, о которой вы упомянули? Я сделал apt-get install apache2-utils и по умолчанию установил 2.3. Надеюсь, 2.4 избавит меня от мучений. - person yeehaw; 21.07.2021

ab --help 

-s timeout      Seconds to max. wait for each response
                    Default is 30 seconds

Добавьте параметр: -s 120 в команду ab, где 120 — новый тайм-аут. Если этого недостаточно, установите его еще выше...

person smentek    schedule 29.07.2015

аб --помощь

-s      timeout      Seconds to max. wait for each response
                    Default is 30 seconds

-k                    Use HTTP KeepAlive feature

Меня устраивает

person Anurag jain    schedule 03.02.2016

Звучит как ошибка ab.

У меня была аналогичная проблема в OS X (теперь, когда вы упомянули, что это происходит в Windows, я более уверен, что виновником является ab). Я занимался профилированием и отслеживанием своего веб-приложения, но ничего не нашел. Затем я протестировал статические страницы с nginx, и это все равно выдало мне ошибку. Тогда я пошел и нашел замену... jMeter. Отлично работает, но я все же хотел бы знать, в чем проблема с прессом.

person Matt    schedule 13.01.2013
comment
Мне интересно то же самое. В моей ситуации я использую высокий параллелизм, и сбой не воспроизводим, но постоянно -n минус 2. например. ab -c 500 -n 10000 => 9998 завершено, 2 тайм-аута. Может быть связано: bz.apache.org/bugzilla/show_bug.cgi?id=22686 - person Cory Mawhorter; 31.03.2015