我正在努力改善页面速度的显示时间,其中一种方法是gzip来自网络服务器的内容。
请注意,gzip压缩仅对更大的资源有用。由于压缩和解压缩的开销和延迟,因此您只能使用超过一定大小阈值的gzip文件。我们建议最小范围为150到1000个字节。将文件压缩到150字节以下实际上会使它们变大。
我们通过Akamai为其内容提供服务,并使用其网络作为代理和CDN。他们告诉我的内容:
跟进有关最小大小是多少的问题,Akamai在将请求的对象发送给最终用户时将对其进行压缩:最小大小为860字节。
我的回复:
Akamai的最小大小为860字节的原因是什么?举例来说,为什么Akamai为Facebook提供的文件不是这种情况?(请参阅下文)Google建议更积极地gzip。在我们的网站上,这似乎是恰当的,到目前为止,点击率最高的是<860字节的AJAX调用。
Akamai的回应:
860字节是压缩的最小大小的原因有两个:(1)在860字节以下压缩对象的开销超过了性能提升。(2)860字节以下的对象始终可以通过单个数据包进行传输,因此没有迫切的理由对其进行压缩。
所以我在这里进行一些事实检查。由于数据包大小而导致的860字节限制是否在此推理的结尾?为什么高流量站点将其降低到150字节限制...只是为了节省带宽成本(因为CDN的收费基于从原始站点卸载的带宽),或者这样做会提高性能?
2012年7月9日更新: 我问史蒂夫· 苏德斯(Steve Souders)是否已经获得了比数据包小的gzip压缩响应性能提升,以及为gzip性能带来好处的建议最小对象大小是多少,这是他的响应:
谢谢你的电邮。大小介于1-5K之间。Apache有一个默认值,但我忘了它是什么-那将是一个很好的指南。
我们在F5设备上进行压缩,因此我们将其压缩到〜350字节,因为在那和1K之间有相当数量的AJAX调用。我们网站上少于350个字节的AJAX调用全都减少了约70个字节...比Google的建议还少...所以它似乎可以归结为:了解您的网站并根据您的代码进行调整。
F5更新在Production中运行一段时间后,我将回到这篇文章。我认为性能上的好处不大,但由于服务较少,我们会降低Akamai的成本。