ab出现apr_socket_recv错误:连接被拒绝(61)


79

我正在测试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

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

我在tomcat遇到了同样的问题,再次该网站运行良好。

可能是什么问题?


1
这可能是ipv6问题,尝试翻译localhost并首先使用:: 1并失败吗?
于尔根斯特罗贝尔

这可能是防火墙问题吗?也许您正在使用代理?
utapyngo

如果ab在macOS上发出约16,000个请求时遇到此错误,请参见:stackoverflow.com/a/30357879/537554获取解释,以及serverfault.com/a/145937/91715获取修复。
ryenus

Answers:


179

我发现使用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


2
嗨,不是我,我也遇到同样的错误。你在跑狮子吗?对我来说,b4升级效果很好。
Blankman

2
我的错误与您略有不同-但是,是的,我在Lion上。看起来像Lion上的Ab错误:groups.google.com/forum
#!msg/nodejs/TZU5H7MdoII/yivu0d4LMaAJ

1
这是Ab的错误,必须修补apache并建立一个新的Ab。请参阅下面的步骤。stackoverflow.com/a/8825278/47441
Sun Liwen 2012年

Mountain Lion也是如此,它具有2.3版的Ab。
Arne

我要减少对我
有用

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

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

$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/

如果您的apache很旧,请对其进行修补并按上述步骤进行构建。

$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch

做完了


确保将cp support / ab转到/ usr / sbin(或由“哪个ab”决定的任何位置)
Sunil Gowda 2012年

8

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


1

()中仍然存在的另一个相关错误是,它仅接收来自的第一个结果。JürgenStrobel在评论中提到的可能就是这个错误。假设您有这样的情况:abapache-2.4.29getaddrinfo/etc/hosts

127.0.0.1   localhost.localdomain   localhost
::1     localhost.localdomain   localhost

getaddrinfofor返回的第一个结果localhost::1。因此,ab尝试通过IPv6连接失败。解决方法是使用127.0.0.1ab -n 10 127.0.0.1/。或重新排列行。不过,就我而言,它说:

Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)

0

这个错误有一个补丁,我按照了本指南的步骤进行操作,现在看来它在Lion中对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.