为了我自己的好奇心做一些负载测试,在我的服务器上运行:
ab -kc 50 -t 200 http://localhost/index.php
Run Code Online (Sandbox Code Playgroud)
这将打开50个保持活动连接200秒,然后使用index.php请求猛烈抨击我的服务器
在我的结果中,我得到:
Concurrency Level: 50
Time taken for tests: 200.007 seconds
Complete requests: 33106
Failed requests: 32951
(Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1948268960 bytes
HTML transferred: 1938001392 bytes
Requests per second: 165.52 [#/sec] (mean)
Time per request: 302.071 [ms] (mean)
Time per request: 6.041 [ms] (mean, across all concurrent requests)
Transfer rate: 9512.69 [Kbytes/sec] received
Run Code Online (Sandbox Code Playgroud)
请注意32951"失败"请求.我无法弄清楚这一点.
在测试运行时,我能够完美地从家用计算机访问我的网站,尽管页面底部的页面加载时间报告为.5而不是通常的.02.但是我从来没有遇到过失败的请求.
那么为什么AB报告说有一半的连接失败了?"长度:"在这种情况下意味着什么?
谢谢