Nginx开启gzip压缩

一、导读

gzip(GNU- ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览 器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的绝大多数浏览器都支持解析gzip 过的页面。

二、配置nginx开启的gzip

1.修改nginx的 nginx.conf 配置文件,配置文件如下:
server {
		listen       8090;
        server_name  xxxx;
        location / {
			root  dist;
			index  index.html index.htm;
		}
		# 开启gzip
		gzip on;
		# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
		gzip_min_length 1;
		gzip_buffers 4 16k;
		#gzip_http_version 1.0;
		# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
		gzip_comp_level 5;
		# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
		gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
		gzip_vary off;
		# 禁用IE 6 gzip
		gzip_disable "MSIE [1-6]\.";
		# gzip_proxied any;
    }
2.参数详解:
gzip_comp_level

设置gzip压缩级别,级别越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大
我们以一个大小为92.6K的脚本文件为例,如下所示。其中最后三个数值分别表示压缩比、包大小、平均处理时间(使用ab压测,100用户并发下)以及CPU消耗。
随着压缩级别的升高,压缩比有所提高,但到了级别6后,很难再提高;
随着压缩级别的升高,处理时间明显变慢;
gzip很消耗cpu的性能,高并发情况下cpu达到100%
因此,建议:
一方面,不是压缩级别越高越好,其实gzip_comp_level 1的压缩能力已经够用了,后面级别越高,压缩的比例其实增长不大,反而很吃处理性能。
另一方面,压缩一定要和静态资源缓存相结合,缓存压缩后的版本,否则每次都压缩高负载下服务器肯定吃不住。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值