2012-04-17 2 views
36

Я загружаю тестирование IIS 7.5 (WinR2/SP1) из моего Windows   7/SP1-клиента. У меня есть сценарий, который делает три ab вызовов, как:ошибка ab (Apache Bench): apr_poll: указанный тайм-аут истек (70007) в Windows

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 не обеспечивает многого. Related Stack Overflow question. Server Fault related question.

+1

Нечто подобное случилось и со мной. Проблема была связана с моим кодом. Не уверен, что это так. – tugberk

+0

@tugberk - точно, ошибка в моем коде WebApi ограничена параллелизмом. Как только я исправил ошибку, сообщение apr_poll исчезло. – RickAndMSFT

+0

Вы можете попробовать решение, данное в этой теме: http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server –

ответ

3

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

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

+0

Мне интересно то же самое. В моей ситуации я использую высокий параллелизм, и неудача не воспроизводима, а последовательно - минус 2. Например. ab -c 500 -n 10000 => 9998, 2 тайм-аута. Может быть, связано: https://bz.apache.org/bugzilla/show_bug.cgi?id=22686 –

22

Вы должны иметь версию 2.4 и использовать -s timeout option.

Вы можете использовать мой win32-x86 бинарный (составитель под визуальным   студии   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

+3

Отдельный exe жалуется, что отсутствует «libapr-1.dll». –

+2

И с версией 2.2 используйте опцию -t timelimit – Ponytech

+0

Если вы не можете скачать или не работать, сообщите мне вместо downvote. –

10
ab --help 

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

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

6

аб --help

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

-k     Use HTTP KeepAlive feature 

Это работает для меня