我猜你网站的 nginx 压缩级别gzip_comp_level 肯定没设置好, 我测试了所有的级别,找到了最佳的数值!
|
admin
2025年8月28日 1:23
本文热度 19
|
绝大部分站长都会开启 nginx 的 gzip 压缩网页体积,提升网页加载速度,减少带宽消耗。并且现在大部分的面板安装 nginx 的时候,默认都会开启 gzip 压缩配置。然而绝大部分站长可能都没注意到这个配置,也并不会去修改他。gzip_comp_level 是 2,表示 gzip 的压缩级别是 2。即使少部分站长注意到有这个配置,但也不知道这个压缩比设置多少是合适的。
- 我的带宽够,cpu 紧张,压缩级别调小一点,稍微压缩一下就行
或许你的想法就是以上五种的其中之一。然而,这些看似合理的做法,真的能带来最佳效果吗?
为了找到答案,我决定对不同的压缩级别进行一次详尽的测试,用数据说话。
我到网上找了一些大小不一的网页,然后用 python 写了测试代码分别运行 1000 次 gzip 压缩,统计压缩比以及压缩耗时。
10k 的网页:
可以看出来,到 5 之后,压缩比下降就不明显了。压缩耗时在 5 之后上涨就不太明显了。
20k 的网页:
到了 6 以上,压缩率就没有什么变化了。压缩时间是一直在上涨的。
50k 的网页:
压缩率基本在 6 以后下降就不明显了,但压缩时间在 7 以后急剧上升。
90k 的网页:
看起来和 50k 的网页曲线很相似。其原因是 50k 的网页是我从 90k 的网页截取一部分得来的。在压缩比为 6 之后,压缩率下降不明显,然而执行耗时上涨迅速。这个数据也是在 6 以后压缩率就不明显了。压缩耗时一直上涨。同样还是在 6 以上压缩率就下不去了,而压缩时间一直随着压缩级别上升而上涨。
从这些测试数据中,可以得出以下结论:
压缩级别越大,压缩耗时越长:这对服务器CPU会造成更大负担,尤其是在处理大文件或高并发时。
压缩级别与压缩效果非简单正比:更高级别的压缩并不总能显著减小文件体积,尤其是超过某个点后(通常 around level 6),压缩比的提升会趋于平缓。
网页内容和大小影响压缩效率:不同网页的“最佳”压缩级别可能因其内容和大小而异。
大文件更耗CPU:网页越大,高压缩级别对CPU的消耗增加越明显。大文件(如200k以上)的压缩耗时随级别增长甚至呈指数上升趋势。
程序分析的结果如下
OVERALL RECOMMENDATIONS (Based on P95 values):
================================================================================
10k.html -> Optimal level: 6
20k.html -> Optimal level: 6
50k.html -> Optimal level: 7
90k.html -> Optimal level: 6
200k.html -> Optimal level: 6
650k.html -> Optimal level: 5
1000k.html -> Optimal level: 5
Average optimal level across all files: 6
然而这个级别也会随着你的网页大小,网页内容的变化而变化,并不一定都适用。但最佳级别基本就是 5,6,7这三个值。追求较高压缩比且服务器CPU资源充足:可尝试级别7。
希望平衡压缩效果与服务器负载,级别6是稳妥的选择。
服务器CPU资源紧张或主要压缩大文件,级别5也能提供不错的压缩效果,同时CPU负担更轻。
现在就快去调整你的 nginx gzip_comp_level 的值吧!让你的网站速度更快,带宽更省!
阅读原文:原文链接
该文章在 2025/8/28 16:42:17 编辑过