小编典典

使用 AB 进行负载测试...假失败请求(长度)

all

为了我自己的好奇心,在我的服务器上进行一些负载测试,我运行了:

ab -kc 50 -t 200 http://localhost/index.php

这会打开 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

请注意 32951“失败”请求。我无法弄清楚这一点。

随着测试的运行,我可以从我的家用电脑完美地访问我的网站,尽管页面底部的页面加载时间报告为 0.5 而不是通常的 0.02。但是,我从来没有一次失败的请求。

那么为什么 AB 会报告一半的连接失败呢?在这种情况下,“长度:”是什么意思?


阅读 136

收藏
2022-06-07

共1个答案

小编典典

没关系。“长度失败”仅表示响应长度的大约一半时间不同。

由于内容是动态的,它可能是会话标识符或类似的东西。

2022-06-07