我有一个由abtestingApache服务器2.4的问题。 Apache服务器作为服务在Windows上运行,我从另一台Linux上的服务器上testing它。
我写:
ab -n 1000 -c 1000 "http://xxxx/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 xxxx (be patient) apr_socket_recv: Connection refused (111)
当-n和-c是100时,没有问题。 之前我已经testing过了,一切正常,但一下子就开始崩溃了。 我尝试了一切,甚至使用mpm_winnt_module ,但它没有帮助。
(我在Apache中使用默认值。)
我想这不是一个networking问题。 在Wireshark中我可以看到通信在一段时间之后被重置。 据我说Apache是有罪的。
ab的-c选项用于并发。 所以你告诉它做1000个并发请求。 在Windows上,由Apache服务的默认连接数是150。 这就是为什么一个100的并发成功,但并发1000失败。
如果您倾向于(并且您的服务器可以承受负载),则可以在httpd-mpm.conf的mpm_winnt_module部分httpd-mpm.conf ThreadsPerChild增加到1000。 另外请确保httpd.conf httpd-mpm.conf未被注释。