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压缩,因为他们已经采用高压算法了,在压缩没有意义反而会白白消耗服务器端的资源。

Tomcat性能优化之(一) 启动GZIP压缩的更多相关文章

  1. 【nginx网站性能优化篇(1)】gzip压缩与expire浏览器缓存

    gzip压缩 概述 网页在服务器端经过了gzip或者其他格式的压缩后的输出明显减少了content-length字节,当访问过百万时,这些减少的字节就会变为客观的流量给节约下来;从而减轻服务器的压力以 ...

  2. tomcat性能优化梳理

    tomcat性能优化 Tomcat本身优化 Tomcat内存优化 启动时告诉JVM我要一块大内存(调优内存是最直接的方式) 我们可以在 tomcat 的启动脚本 catalina.sh 中设置 jav ...

  3. Tomcat性能优化(转载)

    出处:微信订阅号GitChat精品课程 — Tomcat性能优化 Tomcat 简单介绍 Sun 公司创建了第一个 Servlet 容器,即 Java Web Server,但 JWS 只是为了演示 ...

  4. tomcat 性能优化

    tomcat 性能优化tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈. tomcat内存优化linux修改TOMCAT_HOME/bin/ ...

  5. tomcat 性能优化(内存优化 线程优化)

    转自:http://blog.sina.com.cn/s/blog_4b5bc01101014s81.html tomcat 性能优化 linux修改TOMCAT_HOME/bin/catalina. ...

  6. JVM虚拟机详解+Tomcat性能优化

    1.JVM(java virtual mechinal) ()JVM有完善的硬件架构,如处理器.堆栈.寄存器当,还具有相应的指令系统. ()JVM的主要工作时解释自己的指令集(即字节码),并映射到本地 ...

  7. Tomcat性能优化及JVM内存工作原理

    Java性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收,下面会重点介绍这方面) 代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容如下: 1. ...

  8. Tomcat性能优化方案

    1. 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是"内存溢出". 通常情况下,这种问题出现在实际的生产环境中.产生这种问 ...

  9. ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩

    网站开启 Gzip 压缩的好处相信很多人都已经清楚,这样做可以提高网站的性能.那么为什么很多网站没有开启 Gzip 压缩功能呢?原因有4点:防病毒软件.浏览器 bug.网站代理和服务器未配置. 使用 ...

随机推荐

  1. [转]linux内核网络分层结构

    Preface   Linux内核对网络驱动程序使用统一的接口,并且对于网络设备采用面向对象的思想设计. Linux内核采用分层结构处理网络数据包.分层结构与网络协议的结构匹配,既能简化数据包处理流程 ...

  2. CSS:CSS 在工程中改变——面向对象的CSS (OO CSS)

    一.OO  CSS 的概念解读 (一)众多开发者忽视了CSS的表现,认为其太过简单,是一种机械的工作,而把更多关注在JS的性能或者其他方面. (二)OO CSS 将页面可重用元素抽象成一个类,用cla ...

  3. RabbitMQ消息队列(五):Routing 消息路由[转]

    上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity(严重程度)来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindin ...

  4. OAF_OAF控件系列4 - HGrid的实现(案列)

    2014-06-02 Created By BaoXinjian

  5. osX显示隐藏文件

    终端输入: defaults write com.apple.finder AppleShowAllFiles -bool YES

  6. 用platformio编写arduino程序

    哈哈,今天浏览arduino.cc官网,找到一个好东东,以后,在ubuntu下用终端编程在也不发愁了. platformio.org是一个物联网全能的IDE,甚至还贴心的提供了在命令行下编程的版本:p ...

  7. Linode中的Network Helper

    Linode主机vps有一个很好的网络配置工具:Network Helper,他可以在系统启动的时候,根据你的操作系统,以及检测到的网络配置等信息,自动配置好网络,非常有用. 官方文档: Networ ...

  8. js下拉框二级关联菜单效果代码具体实现

    这篇文章介绍了js下拉框二级关联菜单效果代码具体实现,有需要的朋友可以参考一下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...

  9. node-inspector调试报错问题处理

    使用node-inspector调试的时候,提示下面的异常,我的node版本是6.9.2出现下面的异常,我同事的版本4.2.1就没有这个问题. C:\Users\dzm>node-inspect ...

  10. angular学习笔记(十四)-$watch(3)

    同样的例子,还可以这样写: <!DOCTYPE html> <html ng-app> <head> <title>11.3$watch监控数据变化&l ...