ab(Apache Bench)错误:apr_poll:指定的超时在Windows上已过期(70007)

Ric*_*SFT 46 apachebench

我正在从Windows 7/SP1客户端加载测试IIS 7.5(WinR2/SP1).我有一个脚本,可以进行三次ab调用:

start /B cmd /c ab.exe -k -n 500 -c 50 http://rhvwr2vsu410/HelloWebAPI/Home/SyncProducts > SyncProducts.txt
Run Code Online (Sandbox Code Playgroud)

当并发度大于5时,我很快就会收到错误消息

apr_poll:指定的超时已过期(70007)

ab停止提出请求.我甚至没有完成100个请求.

这是在启动脚本后的30秒内发生的.在AB文档页面没有提供太多.相关的Stack Overflow问题.服务器故障相关问题.

Dzw*_*nkg 27

您必须具有2.4版本和使用-s timeout选项.

您可以使用我的win32-x86二进制文件(在2013年2月8日的主干Visual Studio 2008下编译):

我使用它:http://code.google.com/p/apachebench-standalone/wiki/HowToBuildhttp://ftp.ps.pl/pub/apache//apr/binaries/win32/apr-1.3 1.6的iconv-1.2.1-UTIL-1.3.8-Win32的x86的msvcrt60.zip

  • 独立的exe抱怨说"libapr-1.dll"丢失了. (4认同)
  • 使用2.2版本时,请使用-t timelimit选项 (3认同)

sme*_*tek 13

ab --help 

-s timeout      Seconds to max. wait for each response
                    Default is 30 seconds
Run Code Online (Sandbox Code Playgroud)

添加选项:-s 120到ab命令,其中120是新超时.如果还不够,那就设置得更高......


Anu*_*ain 8

ab --help

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

-k                    Use HTTP KeepAlive feature
Run Code Online (Sandbox Code Playgroud)

这个对我有用


Mat*_*att 6

听起来像一个AB错误。

我在OS X上也遇到过类似的问题(现在您提到它发生在Windows上,我更相信ab是罪魁祸首)。我四处进行概要分析和跟踪我的Web应用程序,但是找不到任何东西。然后,我从nginx上测试了静态页面,它仍然给了我错误。于是我去找了一个替代品... jMeter。效果很好,但是我仍然想知道ab问题是什么。

  • 我也想知道。在我的情况下,我使用高并发性,并且故障不可重现,但始终为 -n 减 2。例如 ab -c 500 -n 10000 => 9998 完成,2 超时。也许相关:https://bz.apache.org/bugzilla/show_bug.cgi?id=22686 (2认同)