2012-04-17 61 views
36

我从Windows   7/SP1客户端负载测试IIS 7.5(WinR2/SP1)。我有一个脚本将三个ab调用,如:ab(Apache Bench)错误:apr_poll:在Windows上指定的超时已过期(70007)

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 questionServer Fault related question

+1

类似的事情发生在我身上也。问题与我的代码有关。虽然不确定这是否是这种情况。 – tugberk 2012-04-17 07:38:45

+0

@tugberk - 确切地说,我的WebApi代码中的一个错误限制了并发性。一旦我修复了这个bug,apr_poll消息就消失了。 – RickAndMSFT 2012-04-21 01:15:25

+0

你可以尝试在这个线程给出的解决方案:http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server – 2012-09-03 09:20:36

回答

3

听起来像一个ab bug。

我在OS X上有类似的问题(现在你提到它发生在Windows上,我更加确信ab是罪魁祸首)。我绕过了分析和跟踪我的Web应用程序,但找不到任何东西。然后我测试了nginx的静态页面,但它仍然给了我错误。于是我去找了一个替换... jMeter。很好,但我仍然想知道ab问题是什么。

+0

我想知道同样的。在我的情况下,我使用高并发性,失败不可重现,但始终如此 - 正负2。 ab -c 500 -n 10000 => 9998完成,2超时。也许相关:https://bz.apache.org/bugzilla/show_bug.cgi?id = 22686 – 2015-03-31 19:47:00

22
+3

独立exe文件抱怨缺少“libapr-1.dll”。 – 2013-02-10 08:46:10

+2

2.2版使用-t timelimit选项 – Ponytech 2013-05-13 13:52:30

+0

如果您无法下载或无法正常工作,请通知我而不是downvote。 – 2014-01-12 20:06:09

10
ab --help 

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

添加选项:-s 120给ab命令,其中120是新的超时。如果没有足够的设置甚至更高......

6

AB --help

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

-k     Use HTTP KeepAlive feature 

它为我