未开启gzip压缩的时候,响应请求的文件类型还是原来的文件类型,如Content-Type: apllication/css,那么开启了gzip压缩的时候,对应的文件类型则会变成Content-Type: gzip。
压缩好处
在带宽有限的情况下,减少传输文件的大小,可以极大减少文件的传输时间。比如可以显著提高网站首页的加载时间。
压缩配置
gzip on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript text/css application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6].";
性能测试
测试环境
- 域名:xxx.com
- 阿里云服务器:带宽2Mbps,实际下载速度为256KB/S
测试内容
nginx未开启gzip的情况下
- 总共下载资源14M, 耗时50S,其中app.js有5.59M,chunk.js有3.62M
nginx开启gzip的情况下,主要看网速和压缩之后的文件大小
- 压缩等级2,总共下载资源4.3M,耗时14.72S
- app.js,1.4M
- chunk.js,1.3M
- 压缩等级2(不压缩js文件),总共下载资源12M,耗时42S
- 压缩等级6,总共下载资源3.8M,耗时12.2S
目前 | app.js内容+随机字符串 | |
---|---|---|
app.js文件大小 | 5.67M | 11.3M |
app.js压缩后大小 | 1.2M | 3.9M |
app.js压缩后时长 | 10.94S | 21.43S |
整体大小 | 14.7M | 20M |
整体压缩后大小 | 4.2M | 6.4M |
整体压缩后时长 | 15S | 21.79S |