我在测试时遇到问题Apache 服务器 2.4经过AB。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_模块,但没有帮助。
(我在 Apache 中使用默认值。)
我认为这不是网络问题。我在 Wireshark 中看到,通信在一段时间后被重置。在我看来,Apache 有问题。
答案1
选项-c
AB是并发。所以你告诉它执行 1000 个并发请求。默认连接数Apache 提供的服务在 Windows 上的最大并发数为 150。这就是为什么 100 个并发数可以成功,而 1000 个并发数会失败的原因。
如果你愿意(并且你的服务器可以承受负载),你可以增加ThreadsPerChild
mpm_winnt_module
在部分中将其设置为 1000。httpd-mpm.conf
同时确保httpd-mpm.conf
中的 被取消注释httpd.conf
。