`
tcspecial
  • 浏览: 901891 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Tomcat 启用gzip

    博客分类:
  • java
阅读更多

1. 配置启用gzip 

vi conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" 
		   compression="on" 
		   compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" 
		   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

 

配置说明:

compression="on" 打开压缩功能 

compressionMinSize="2048" 启用压缩的最小内容大小,FileSize>=2048时才压缩

noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩 

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 启用压缩的资源类型

 

2. 测试gzip是否生效 

Tomcat是根据浏览器请求头中的accept-encoding来判断浏览器是否支持压缩功能,如果这个值包含有gzip,就表明浏览器支持gzip压缩内容的浏览,我们可以用两种方法来验证压缩是否生效。

 

2.1 请求原生内容

curl -I http://xxx:8080/protoweb/test.txt

 

Wireshark抓包分析:

Get

 

HTTP 200 

抓包发现浏览器发送HTTP GET请求,随后接收到211个数据包,第211个包为HTTP 200结束包。请求该文件总耗时达5s。 

 

 

2.2 请求压缩内容

curl -H 'Accept-Encoding: gzip,deflate' -I http://xxx:8080/protoweb/test.txt

抓包发现与2.1发送数据包一致,压缩未生效?

谷歌搜索发现与NIO零拷贝有关,正如nginx会默认开启 sendfile on,Tomcat也是默认开启useSendfile="true",sendfile属性原型见Linux下系统调用sendfile(),sendfile()高效的原因是因为避免文件多次在内核态用户态间的拷贝(零拷贝方式),直接在内核中通过socket发送至网络。

WEB服务器启用压缩功能虽说可节省网络宽带,加快网络传输速度,但却对服务器带来了CPU压力,大文件压缩对服务器而言得不偿失。

Tomcat 默认>48kb,不启用压缩。

 

解决方案:

全局配置,关闭sendfile特性。

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" 
		   useSendfile="false"
		   compression="on" 
		   compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" 
		   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

 设置useSendfile=false。

 

sevlet配置:

限制sendfile文件大小。

<servlet>
	<init-param>
		<param-name>sendfileSize</param-name>
		<param-value>96</param-value>
	</init-param>
</servlet>

 

由于是静态资源,采用全局配置关闭sendfile特性,测试:
gzip 200

 

 通过抓包发现,现在只有14个响应包,请求总耗时才0.06s,的确很快。 

 

 

 

 

 

 

  • 大小: 57.6 KB
  • 大小: 53.5 KB
  • 大小: 41.5 KB
分享到:
评论

相关推荐

    tomcat开启gzip

    tomcat开启gzip,如何开启tomcat 中gzip文件1

    设置tomcat启用gzip压缩的具体操作方法

    1. 打开压缩功能:在`&lt;Connector&gt;`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置压缩阈值:通过`compressionMinSize`属性设定启用压缩的最小输出内容大小。例如,`compressionMinSize="50"`表示当...

    tomcat GZIP源码

    5. **自定义配置**:Tomcat的GZIP源码通常允许开发者通过web.xml配置文件调整过滤器的行为,例如设置最小压缩长度、启用或禁用GZIP,以及选择性地对某些类型的资源应用压缩。 6. **多线程安全**:在高并发环境下,...

    tomcat设置gzip压缩共2页.pdf.zip

    3. **启用Gzip压缩**:在`&lt;Connector&gt;`标签内,添加`compression="on"`属性来开启Gzip压缩。同时,可以设置`compressionMinSize="2048"`,表示只有当响应体大小超过2048字节时才启动压缩,以避免对小文件的过度压缩...

    开启TOMCAT6的GZIP压缩

    开启TOMCAT6的GZIP压缩功能,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。...

    Tomcat下,使用gzip压缩数据

    使用gzip压缩,能够减少数据传输大小,加快网页或APP加载速度。很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,本文档使用截图和文字的方式详细讲解了压缩数据的配置和过程,希望对您有益!

    如何验证Tomcat Gzip配置是否生效的方法

    主要介绍了如何验证Tomcat Gzip配置是否生效的方法,需要的朋友可以参考下

    EhCache开启gzip压缩功能

    在Web应用中,开启gzip压缩功能能够显著减小数据传输量,从而加快网页加载速度,降低服务器带宽消耗。以下是对EhCache开启gzip压缩功能的详细说明。 首先,gzip是一种广泛使用的数据压缩算法,尤其在Web服务器中,...

    GZIP压缩Tomcat并提升web性能过程图解

    这里,`compression="on"`开启GZIP压缩,`compressionMinSize="2048"`表示只有当响应内容大于2048字节时才会进行压缩。`noCompressionUserAgents`用于指定某些不支持GZIP的浏览器,如gozilla和traviata,不会对其...

    Tomcat7中开启gzip压缩功能的配置方法

    很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的。 对于tomcat7服务器,打开conf文件夹下...

    两小时精通Tomcat

    Tomcat的性能可以通过调整JVM参数、增大线程池大小、开启GZIP压缩、启用HTTP/2等方式进行优化。监控和分析日志也能帮助识别性能瓶颈。 七、Tomcat集群与负载均衡 当需要处理高并发时,可以设置Tomcat集群,实现负载...

    Tomcat多端口域名访问并配置开启gzip压缩方法

    主要介绍了应用Tomcat进行多端口域名访问,并配置开启gzip压缩方法,需要的朋友可以参考下

    apache-tomcat-8.0.3

    4. 开启GZIP压缩以减少网络传输的数据量。 总结,Apache Tomcat 8.0.3是一个强大的Java Web服务器,能够有效地支持JSP和Servlet应用。通过了解其核心特性和工作原理,以及正确配置和优化,我们可以充分利用Tomcat的...

    windows64位环境tomcat7.0、8.0下载(内含一张tomcat优化代码截图)

    5. 优化Web应用程序:压缩静态资源,减少HTTP请求,启用GZIP压缩,以及使用CDN服务等。 在安装和部署Tomcat时,还需要注意以下几点: 1. 确保Java环境已正确安装并配置,且版本与Tomcat兼容。 2. 配置系统环境变量...

    apache-tomcat-8.5.47-windows-x64.zip

    为了提升性能,可以考虑调整Tomcat的线程池大小、JVM内存设置、开启GZIP压缩等。此外,还可以通过调整JVM的垃圾回收策略和使用数据缓存来提高响应速度。 综上所述,Apache Tomcat 8.5.47在Windows x64环境下提供了...

    Nginx与tomcat 负载均衡

    * 启用Gzip压缩(gzip)设置为on * 服务器集群(upstream)配置,包括两个Tomcat实例,分别权重为1和2 * Nginx服务器配置,包括监听端口、服务器名称、代理_pass、代理重定向等 五、负载均衡演示 * 启动Nginx...

    tomcat8官方版apache-tomcat-8.0.44

    这是一个gzip压缩的tarball文件,需要使用tar命令解压。例如,在Linux终端中,你可以使用以下命令进行解压: ```bash tar -zxvf apache-tomcat-8.0.44.tar.gz ``` 解压后,你会得到一个名为"apache-tomcat-8.0.44"的...

    tomcat9绿色版

    8. **性能优化**:可以通过调整JVM参数、设置线程池大小、开启GZIP压缩等方式优化Tomcat性能。 9. **错误处理**:理解HTTP状态码和Tomcat的错误页面配置,有助于排查应用运行中的问题。 以上就是关于“Tomcat9绿色...

Global site tag (gtag.js) - Google Analytics