52

我正在从我的 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

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

apr_poll: The timeout specified has expired (70007)

ab停止提出请求。我什至没有达到Completed 100 requests

这发生在启动我的脚本后 30 秒内。ab文档页面提供的内容不多。相关堆栈溢出问题服务器故障相关问题

4

4 回答 4

29

您必须拥有 2.4 版本并使用-s timeoutoption

编辑:

https://www.wampserver.com/ - 包括 Apache 2.4.x Win32 和 Win64。

已弃用但仍然可用,但我不知道直到何时才可用:

您可以使用我的 win32-x86 二进制文件(在 Visual Studio 2008 下从trunk 8 Feb 2013 编译):

  • http://mars.iti.pk.edu.pl/~nkg/ab-standalone.exe(不再可用)
  • http://mars.iti.pk.edu.pl/~nkg/ab-standalone-src.zip(不再可用)

我是使用: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(只是不可用)。

于 2013-02-08T17:51:37.600 回答
14
ab --help 

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

添加选项:-s 120到 ab 命令,其中 120 是新的超时。如果还不够,那就再高点……

于 2015-07-29T08:44:52.883 回答
10

ab --帮助

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

-k                    Use HTTP KeepAlive feature

这个对我有用

于 2016-02-03T10:04:58.130 回答
7

听起来像一个ab错误。

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

于 2013-01-13T15:13:18.113 回答