ab使用apr_socket_recv错误输出:连接被拒绝(61)

Bla*_*man 78 apachebench

我正在测试eventlet,我收到此错误:

~>ab -n 10 -c 1 http://localhost:8090/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)...apr_socket_recv: Connection reset by peer (54)
Total of 2 requests completed
Run Code Online (Sandbox Code Playgroud)

该网站在localhost:8090 /工作,并返回200 OK.

我和tomcat有同样的问题,网站再次运行良好.

问题可能是什么?

dka*_*kam 178

我发现使用127.0.0.1而不是localhost工作:

ab -n 10 -c 1 http://127.0.0.1:8090/

更新:可能是ab中的错误:https://groups.google.com/forum/#! msg/nodejs / TZU5H7MdoII/yivu0d4LMaAJ

  • 嗨,不是我,我得到同样的错误.你在跑狮子吗?它对我来说很好b4升级. (2认同)
  • 我的错误与你略有不同 - 但是我是狮子.在Lion上看起来像是一个ab bug:https://groups.google.com/forum/#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ (2认同)

Sun*_*wen 12

新版本的apache已经解决了这个问题.只需要重建ab.

尝试从http://archive.apache.org/dist/下载最新的软件包

必须修补apache并构建一个新的ab.

$ wget http://archive.apache.org/dist/httpd/httpd-2.3.16-beta.tar.bz2
$ tar jxvf httpd-2.3.16-beta.tar.bz2 
$ cd httpd-2.3.16-beta
$ ./configure
Run Code Online (Sandbox Code Playgroud)

只需要构建位于支持文件夹中的ab.

$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/
Run Code Online (Sandbox Code Playgroud)

如果您的apache非常老,那么修补它并构建如上.

$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch
Run Code Online (Sandbox Code Playgroud)

完成.


Fan*_*Yer 7

添加-r选项,表示不要退出套接字接收错误。有时您可能会更改默认的ulimit大小值。 ab -r -n 10 -c 1 http://localhost:8090/