zoukankan      html  css  js  c++  java
  • Tomcat性能优化之(一) 启动GZIP压缩

    Tomcat性能优化之(一) 启动GZIP压缩

    1:设置TOMCAT启用GZIP压缩,通过浏览器HTTP访问对应的资源会根据配置进行压缩。

        <Connector port="8080" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="8443" 
        executor="tomcatThreadPool" 
        URIEncoding="utf-8" 
        compression="on" 
        compressionMinSize="50" 
        noCompressionUserAgents="gozilla, traviata" 
        compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

    从上面节点的属性可以看出,要使用GZIP压缩功能,你需要在Connector节点中加上如下属性:

    compression="on" 启动压缩功能。

    compressionMinSize="2048"设置启动压缩文件的最小值,也就是说当请求的资源大小 大于该值时才启动压缩 默认2048byte 也就是2KB。

    noCompressionUserAgents="gozilla, traviata" 设置不启动压缩的浏览器 该内容会在http请求头中找到。

    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 设置哪些mime格式的资源需要压缩,具体格式可以再tomcat/conf/web.xml中找到。

     

    上面的配置是专门针对Tomcat基于Http协议连接器(Connector)的配置,也就是只有当用户直接通过浏览器直接访问Tomcat时,Tomcat才会针对配置进行GZIP压缩。

    如果我们的应用服务器是Apache+Tomcat集成的话,上面的配置就不起作用了,因为用户是通过浏览器访问Apache服务器,Apache服务器在转发请求到Tomcat去处理,他俩之间数据传输走的是另外一个连接器(Connector)[<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>],但是AJP协议目前貌似还不支持GZIP的配置,所以我们只要自己扩展GZIP的压缩。

    扩展的代码我们已经不需要去实现了,已经有现成的开源框架了,直接拿来用就可以了,【pjl-comp-filter-1.8.1.jar】

    然后配置一下WEB.XML就可以了。

        <filter>
            <filter-name>CompressingFilter</filter-name>
            <filter-class>com.planetj.servlet.filter.compression.CompressingFilter</filter-class>
            <init-param>
                <param-name>compressionThreshold</param-name><!-- 资源大小超过100byte的就被压缩 -->
                <param-value>100</param-value>
            </init-param>
            <init-param>
                <param-name>includeContentTypes</param-name><!-- 启动GZIP压缩的MIME类型 -->
                <param-value>text/html,text/xml,text/javascript,text/css,text/plain</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>CompressingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    还有一些其他的配置可以参考官方文档,在这里不一一说明了,还有就是对图片资源一般不启用GZIP压缩,因为他们已经采用高压算法了,在压缩没有意义反而会白白消耗服务器端的资源。

  • 相关阅读:
    牛客练习赛51 D题
    Educational Codeforces Round 72 (Rated for Div. 2) C题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) C题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
    Educational Codeforces Round 72 (Rated for Div. 2) B题
    Educational Codeforces Round 72 (Rated for Div. 2) A题
    《DSP using MATLAB》Problem 7.2
    《DSP using MATLAB》Problem 7.1
    《DSP using MATLAB》Problem 6.24
  • 原文地址:https://www.cnblogs.com/daxin/p/3165485.html
Copyright © 2011-2022 走看看