网站访问优化(二):开启apache服务器gzip压缩

昨天,把带宽从1M升级到2M,使用cdn版本的jquery之后,网站访问速度由平均5s(在禁止缓存的情况下,使用缓存大概在2.8s)下降到2.8s的样子。

今天,继续优化。

第1步:
   把图片进行了压缩,70kb以上的banner用的大图,压缩成50kb左右。图片质量稍微下降了一点,没钱连高清图片都用不起,所以还是得有钱,赚钱。

第2步:
  js压缩。

昨天,也用了网上下载的js/css压缩器,部署时,用压缩版本的。速度并没有明显的提升,可能是因为js和css很少,而且都比较小的缘故。

晚上,用百度站长检测了下网站访问,平均3s多,比我本地(湖北-武汉-20MB带宽)2.8s要慢了0.7s的样子。

其中一项诊断建议是,使用gzip压缩。

于是,今天就重点尝试了Apache开启gzip压缩。
第1步:找到并打开apache/conf目录中的httpd.conf文件
第2步:httpd.conf中打开deflate_Module和headers_Module模块,具体做法为将 如下两句前面的#去掉:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

第3步: 在httpd.conf文件底部加入如下代码配置需要压缩的文件:

<IfModule deflate_module>
SetOutputFilter DEFLATE
# Don’t compress images and other 
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary 
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary 
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary 
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css 
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
第4步:重启apache服务端
  最好先检测下语法,是否正确。
  /etc/init.d/httpd -t
  /etc/init.d/httpd restart
第5步:使用工具重新检测是否开启gzip压缩。考虑到相关广告检测机制具体的gzip检测工具访问地址可以到搜索引擎中去查找。
 http://tool.chinaz.com/Gzips/
  输入你的域名。

另外,也可以使用Chrome查看。

  1. Content-Encoding:

    gzip

  2. 启动GZIP压缩后,Response Headers,会有上面一行显示。

4个疑问:
1.Apache开启gzip压缩,和手动压缩JS/CSS区别多大呢?
效果上,当然是gzip效果好。
2.Apache版本问题。
  本地Apache是2.4.9的,线上Apache是2.2的。
  本地最初一直报错,网上搜了下“

AddOutputFilterByType

Apache AddOutputFilterByType is deprecated. How to rewrite using mod_filter?
网上有说法是,2.4不再支持,但是后来,2.2版本却又成功了。

2.4版本的 AddOutputFilterByType 配置,参考的是下面的:

http://stackoverflow.com/questions/5230202/apache-addoutputfilterbytype-is-deprecated-how-to-rewrite-using-mod-filter
本地2.4的Apache没有成功。

3.在.htaccess中,配置gzip压缩,一直没有成功。
4.统计程序piwik.js对响应时间有一定的影响。
  piwik偶尔不够稳定,尤其是在带宽为1M的时候。
----------------------------------
开启,GZIP压缩之后,首页平均访问时间下降到1.8s。
1.82s(load:1.28,DOMContentLoaded:397ms)

启用缓存的情况下,第2次访问:
1.00s(load:469ms,DOMContentLoaded:352ms)
----------------------------------
带宽升级到3M,平均访问速度:http://

禁用浏览器缓存:1.69s(load:1.16s,DOMContentLoaded:415ms)

启动浏览器缓存:1.18s(load:640ms,DOMContentLoaded:349ms)

----------------------------------
ThinkPHP缓存:如果为debug模式,大概会多花1s左右。
----------------------------------
总结:在把带宽从1M升级到3M,图片用Fireworks压缩,开启Apache的Gzip压缩,使用cdn版本的jquery之后,
平均访问速度从5s到1.5s。

当然,Thinkphp使用缓存,浏览器不禁用缓存的情况下。
2s之内能打开,大家可以接受吧。

武汉九天鸟科技:http://jiutianniao.comhttp://jiutianniao.com
欢迎大家,访问官网试试,响应速度。

----------------------------------
参考资料:
http://jingyan.baidu.com/article/db55b609a7bc234ba20a2f7e.html
http://stackoverflow.com/questions/5230202/apache-addoutputfilterbytype-is-deprecated-how-to-rewrite-using-mod-filter

时间: 2024-08-07 08:26:15

网站访问优化(二):开启apache服务器gzip压缩的相关文章

Apache启用GZIP压缩网页传输方法

一.gzip介绍 Gzip是一种流行的文件压缩算法,如今的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是很明显的,大约能够降低70%以上的文件大小.这取决于文件里的内容. 利用Apache中的Gzip模块,我们能够使用Gzip压缩算法来对Apacheserver公布的网页内容进行压缩后再传输到client浏览器.这样经过压缩后实际上降低了网络传输的字节数,最明显的优点就是能够加快网页载入的速度. 网页载入速度加快的优点不言而喻,除了节省流量,改善用户的浏览体验

Apache启用Gzip压缩

Apache启用Gzip压缩的方法: 1.开启模块并添加配置项目 a.vi /etc/httpd/conf/httpd.conf b.查找LoadModule (/LoadModule),加入“LoadModule deflate_module modules/mod_deflate.so”这行 c.添加配置项目(下段内容) <IfModule mod_deflate.c> # 压缩等级 9 DeflateCompressionLevel 9 # 压缩类型 html.xml.php.css.j

网站访问优化,未完待续

下午,网站被吐槽了,访问太慢.   最初,我以为是首页的banner图片,太大导致的,之前是500kb的高清图.立即去看了下,banner大图已经压缩到50kb了. so,不是图片的问题. 用Chrome打开网站,禁用缓存,总体访问情况:272个请求,2.68MB,耗时5.56s(load:5.03s,DOMContentLoaded:2.45s) 先找出最大的3个文件:jquery.js 118kb ,服务器本地,而且没有压缩,耗时2.12slayout.css 55.8kb,服务器本地,而且

apache php gzip压缩输出的实现方法

一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4. Gzip主要用于Unix系统的文件压缩.我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的.现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式. 当应用Gzip压缩到一个纯

开启Nginx的gzip压缩功能详解

默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行压缩传输,我们需要手动来调. 开启gzip的指令如下:  代码如下 复制代码 gzip on;gzip_http_version 1.0;gzip_disable "MSIE [1-6].";gzip_types text/plain application/x-javascript te

在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度

为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长工具中的"网页GZIP压缩检测"工具检测图片的压缩率达到了69.53%,如下图: 下面介绍nginx.conf文件是怎么配置的: 1.打开nginx.conf配置文件: 2.找到#gzip on这句,如下图: 3.在把#gzip on 改成下面代码: #开启Gzip gzip on; #不

php curl采集,服务器gzip压缩返回数据怎么办

一般服务器不会胡乱返回gzip压缩的数据,一般是客户端请求的头部里包含你浏览器能接受的压缩方式, Accept-Encoding:gzip,deflate,sdch 这里是gzip .deflate.sdch这三种方式,这里不一一说明是指什么,不懂的可以去找谷哥度娘, 有些服务器强制返回gzip压缩的数据,我们采集的时候,返回的是乱码,根本无法读取使用,这个时候马上查看手册 发现其实curl里有个参数,curl_setopt($ch, CURLOPT_ENCODING,'gzip'); 手册解释

Apache开启gzip压缩和http缓存的配置

一.Apache开启gzip压缩 首先说下gzip配置的方法,在apache中gzip压缩使用的是mod_deflate模块,  以下是具体的配置方法和步骤: 步骤一:   LoadModule deflate_module modules/mod_deflate.so   LoadModule headers_module modules/mod_headers.so    打开http.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate

Apache开启GZIP压缩功能方法

Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台,本文讲解了如何开启Apache平台上的Gzip压缩功能Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.Gzip在现代浏览器中默认都是支持的,当一个纯文本文件使用Gzip压缩可以减少70%以上的文件大小,压缩后可以大大降低了网络传输的字节数,使用Gzip的好处就是可以加快网页加载的速度,同时是你的网站对搜索引擎更加友好.下面PHP程序员雷雪松详细的讲解下Apache如何使用mod_defla