网站访问优化(二):开启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查看。
- Content-Encoding:gzip
-
启动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://jingyan.baidu.com/article/db55b609a7bc234ba20a2f7e.html
http://stackoverflow.com/questions/5230202/apache-addoutputfilterbytype-is-deprecated-how-to-rewrite-using-mod-filter
网站访问优化(二):开启apache服务器gzip压缩的更多相关文章
- PhpStudy如何开启Apache的gzip压缩功能?
要让apache支持gzip功能,要用到deflate_Module和headers_Module. 打开apache的配置文件httpd.conf,大约在105行左右,找到以下两行内容:(这两行不是 ...
- 安装mod_deflate模块启用apache的GZIP压缩
安装mod_deflate模块启用apache的GZIP压缩 操作系统:Linux Cent OS 5 / Max OS X 10.6 snow leopard相关环境:Apache httpd 2. ...
- Apache启用GZIP压缩网页传输方法
一.gzip介绍 Gzip是一种流行的文件压缩算法,如今的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是很明显的,大约能够降低70%以上的文件大小.这取决于文件里的 ...
- apache php gzip压缩输出的实现方法
一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...
- apache启用gzip压缩方法--转载自http://www.cnblogs.com/linzhenjie/archive/2013/03/05/2943635.html
一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小.这取决于文件中 ...
- 开启Nginx的gzip压缩功能详解
默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行 ...
- Apache启用GZIP压缩网页传输
首先我们先了解Apache Gzip的相关资料. 一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的 ...
- 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度<转>
为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长 ...
- php curl采集,服务器gzip压缩返回数据怎么办
一般服务器不会胡乱返回gzip压缩的数据,一般是客户端请求的头部里包含你浏览器能接受的压缩方式, Accept-Encoding:gzip,deflate,sdch 这里是gzip .deflat ...
随机推荐
- [置顶]
Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
应用镜像 csphere/wordpress:4.2 # cd docker-training/wordpress/ # ls -a . license.txt wp-config-sample.ph ...
- 6. oracle学习入门系列之六 模式
oracle学习入门系列之六 模式 上篇咱们学习记录了ORACLE数据库中的数据库结构.内存结构和进程等.篇幅 蛤蟆感觉偏多了.这次要休整下,每次笔记不宜太多,不然与书籍有何差别. 我们要保证的是每次 ...
- 32.Node.js中的常用工具类util
转自:http://www.runoob.com/nodejs/nodejs-module-system.html util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScrip ...
- Impala架构
Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的 Hive+MapReduce批处理,而是通过使用与商用并行关系数据 ...
- gdbserver 使用方法
1.分别编译出在宿主机运行的交叉调试器arm-linux-gdb和在目标板上运行的gdbserver: 2.在目标板开启gdbserver#gdbserver 宿主机ip:任意指定端口号 ./待调试 ...
- 洛谷 P2692 覆盖
P2692 覆盖 题目背景 WSR的学校有B个男生和G个女生都来到一个巨大的操场上扫地. 题目描述 操场可以看成是N 行M 列的方格矩阵,如下图(1)是一个4 行5 列的方格矩阵.每个男生负责打扫一些 ...
- sql 高性能存储过程分页
USE [Lyjjr] GO /****** Object: StoredProcedure [dbo].[P_ViewPage] Script Date: 05/29/2015 17:18:56 * ...
- amazeui学习笔记一(开始使用5)--藏品collections
amazeui学习笔记一(开始使用5)--藏品collections 一.总结 1.藏品collections:一些 Amaze UI 中没有的功能.amazeui认为好的解决方案.像图表绘制里面的百 ...
- react取消监听scroll事件
如果要移除事件addEventListener的执行函数必须使用外部函数而不能直接使用匿名函数 错误写法: // 这样写是移除不了滚动事件的 componentDidMount() { // 添加滚动 ...
- COGS——C 908. 校园网 || 洛谷——P 2746 [USACO5.3]校园网Network of Schools
http://www.cogs.pro/cogs/problem/problem.php?pid=908 || https://www.luogu.org/problem/show?pid=27 ...