zoukankan      html  css  js  c++  java
  • 网站访问优化(二):开启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://jingyan.baidu.com/article/db55b609a7bc234ba20a2f7e.html
    http://stackoverflow.com/questions/5230202/apache-addoutputfilterbytype-is-deprecated-how-to-rewrite-using-mod-filter   
  • 相关阅读:
    从Ecma规范深入理解js中的this的指向
    js中继承的几种用法总结(apply,call,prototype)
    缓存 Array.length 是老生常谈的小优化
    spark app
    source code spark
    spark dev by IDEA
    编译spark-0.9.1
    图解GIT,ZT
    Spark分布式安装
    倒排索引(Inverted Index)
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462750.html
Copyright © 2011-2022 走看看