Apache基准测试文档长度与YSlow页面总重量

3

我正在使用Apache Benchmark测试我的页面:

ab -n 20 -c 5 http://localhost/mysite/index/index

enter image description here

我知道文档长度指的是响应中所有HTML图像、CSS、JS和其他内容的总字节数。

如果我在Firefox中运行YSlow,我会看到:

The page has a total of 22 HTTP requests and a TOTAL WEIGHT of 202.7K bytes 
with empty cache
  • 文档长度大小和YSlow页面总重量有什么区别?

我想知道这些定义(AB/YSlow)的区别,以便(也许)我可以理解为什么我的AB文档长度如此之高(高达14000字节),而其他网站(例如grubwithus.com)的文档长度不超过91字节!然而,我还注意到我的网页的YSlow大小远远小于grubwithus.com的比较大小(202k对比1124k)。


这是两个不同的工具。你为什么期望它们返回相同的大小? - hakre
1个回答

0

YSlow也计算所有链接的资源(所有链接的文件,从样式、脚本、图像到这些糟糕的闪存,甚至是嵌入的PDF文件)。ab只提取HTML文档(至少对我所知道的版本来说,它似乎已经过时了)。

此外,我认为ab给出的是未压缩大小,而yslow给出的是压缩后的大小。但我对yslow不是很了解,不能确定这一点。请查看他们的文档以获取具体信息。

通常,这两个工具做的事情不同。因此,不要比较它们的大小信息。Ab用于在服务器上生成负载,YSlow用于分析与Web浏览器上下文中隔离响应的性质。


我的手册上说,Ab 也会返回(文档长度),即响应中所有 HTML 图像、CSS、JS 和其他内容的总和。 - luca
好的,这可能取决于使用的ab版本,而且我的知识有点过时。但是我可以想象,在两个工具之间,被认为是链接内容的东西可能不同,并且计算方式也可能不同。例如,YSLOW可能使用Firefox实际加载的内容来触发请求,而ab可能无法解析链接文件中的链接,例如条件JavaScript加载、自动触发的JavaScript请求(ajax等)以及由CSS规则加载的CSS。 - hakre
Luca,你可以通过阅读ab、firefox和yslow的源代码来找到答案。但我认为这样做不值得。我只能做出一些假设,比如链接揭示算法、压缩/未压缩的值、完整的HTTP响应包括HTTP消息头等等。在实现中有多个点可能会有所不同。然而,如果你想进行比较,一定要使用相同的工具进行(相对)比较。不要将AB状态信息与YSLOW状态信息进行比较。如果你敢知道为什么,请阅读相关的完整源代码。 - hakre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接