Apache基准测试:总平均毫秒代表什么?

时间:2011-09-26 16:42:34

标签: apache

我正在使用apache基准测试php应用程序。我的本地机器上有服务器。我运行以下内容:

ab -n 100 -c 10 http://my-domain.local/

得到这个:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    3   3.7      2       8
Processing:   311  734 276.1    756    1333
Waiting:      310  722 273.6    750    1330
Total:        311  737 278.9    764    1341

但是,如果我在页面http://my-domain.local/上刷新浏览器,我发现加载页面需要花费的时间超过737毫秒(ab报告的平均值)(大约3000-4000毫秒)。我可以重复多次,在浏览器中加载页面至少需要3000毫秒。

我测试了另一个更重的页面(浏览器中的页面加载需要8-10秒)。我使用1的并发来模拟一个用户加载页面:

ab -n 100 -c 1 http://my-domain.local/heavy-page/

结果在这里:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:    17   20   4.7     18      46
Waiting:       16   20   4.6     18      46
Total:         17   20   4.7     18      46

那么ab结果的总线实际上是什么呢?显然,这不是浏览器加载网页的毫秒数。浏览器加载页面所需的毫秒数(X)是否与报告的总平均毫秒数(Y)成线性关系?所以,如果我能减少Y的一半,我是否也减少了一半的X?

(我也不确定处理,等待和总计的意思)。


我会重新打开这个问题,因为我再次遇到这个问题。 最近我安装了Varnish。 我像这样跑: ab -n 100 http://my-domain.local/ Apache工作台报告响应时间非常快:

Requests per second:    462.92 [#/sec] (mean)
Time per request:       2.160 [ms] (mean)
Time per request:       2.160 [ms] (mean, across all concurrent requests)
Transfer rate:          6131.37 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     1    2   2.3      1      13
Waiting:        0    1   2.0      1      12
Total:          1    2   2.3      1      13

因此每个请求的时间约为2.2毫秒。当我浏览网站(作为匿名用户)时,页面加载时间约为1.5秒。

这是来自Firebug net标签的图片。正如您所看到的,我的浏览器正在等待1.68秒以便我的网站做出响应。为什么这个数字比请求时间ab报告大得多? Snapshot from Firebug net tab

2 个答案:

答案 0 :(得分:0)

您是否在服务器上运行ab?不要忘记您的浏览器是远程网络链接上的本地浏览器。在Web服务器上运行ab将几乎没有网络开销,并且基本上报告了Apache提供页面所需的时间。根据基本的页面服务开销,您的家庭浏览器链接将添加许多毫秒的网络传输时间。

答案 1 :(得分:0)

好的..我想我知道这是什么问题。虽然我一直在测量浏览器中的页面加载时间,但我已经登录了。所以没有重要的事情发生。浏览器中匿名用户的页面加载时间更接近ab报告的内容。