Apache / ab测试麻烦 - apr_socket_recv:拒绝连接(111)

时间:2014-06-05 12:19:56

标签: windows apache

我通过 ab 测试 Apache服务器2.4 时遇到问题。 Apache服务器在Windows上作为服务运行,我从Linux上的另一台服务器进行测试。

我写道:

 ab -n 1000 -c 1000 "http://x.x.x.x/image.jpg"

输出:

 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 x.x.x.x (be patient)
 apr_socket_recv: Connection refused (111)

-n -c 为100时,它没有问题。 以前我测试过它已经没事了,但是它立即开始崩溃了。 我尝试了一切,甚至 mpm_winnt_module ,但它没有帮助。

(我在Apache中使用默认值。)

我认为这不是网络问题。我可以在Wireshark中看到一段时间后通信被重置。据我所知,阿帕奇有罪。

谢谢!

2 个答案:

答案 0 :(得分:1)

在Windows上,Apache只有ThreadsPerChild个线程,并且可以准确接受多个连接,+ ListenBacklog个线程可以由操作系统排队。

更多,连接将被拒绝。

使用像netstat这样基本的东西会显示当前和排队连接的数量(后者将显示非零接收队列)。

如果您想要更多并发连接,则需要扩展ThreadsPerChild。这是Windows最基本的缩放配置项。

答案 1 :(得分:1)

请检查您是否有多个 ifconfig ip addr 的界面。我用了

ab -c 20 -n 1000 -B 12.34.56.78 http://www.example.com/

其中-B是绑定压力测试的地址,12.34.56.78是连接到互联网的接口。