`
tcspecial
  • 浏览: 911457 次
  • 性别: 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压缩功能。 #### 1. GZIP压缩简介 GZIP是一种广泛使用的数据压缩格式,它使用Lempel-Ziv编码(LZ77)进行压缩。当服务器将数据发送给客户端时,如果浏览器支持GZIP压缩...

    设置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压缩 #### 背景与意义 随着互联网的发展,用户对于网页加载速度的要求越来越高。为了提升用户体验并减轻网络带宽的压力,TOMCAT服务器可以通过启用GZIP压缩功能来优化数据传输。GZIP是一种...

    Tomcat下,使用gzip压缩数据

    在`&lt;Connector&gt;`标签内添加或修改以下参数来开启gzip压缩: 1. `compression="on"`:设置为"on"表示开启gzip压缩。如果设置为"off",则关闭压缩。此外,"force"选项强制压缩所有请求,包括非文本内容如图片。 2. `...

    Tomcat配置gzip压缩提高浏览网站的速度

    通过修改服务器配置文件,可以轻松开启gzip压缩功能,从而提升网站性能。在Tomcat 5.5.20版本中的server.xml配置文件中,可以找到标签,这是定义服务器端接受和处理HTTP请求的关键配置部分。通过在标签中添加特定的...

    tomcat,apache,iis的GZIP配置

    在Tomcat中启用GZIP压缩非常简便。只需在`server.xml`的HTTP Connector配置中添加`compression`参数,并将其值设为`on`。例如: ```xml maxThreads="150" connectionTimeout="20000" redirectPort="8443" ...

    tomcat设置gzip压缩的原理及配置方法

    在Tomcat服务器中启用GZIP压缩功能,可以通过修改Tomcat的配置文件server.xml来实现。server.xml文件位于Tomcat的conf目录下,通常需要以管理员权限修改。为了启用压缩,需要在元素中设置一些特定的属性。 具体配置...

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

    在Web服务器的配置优化中,启用Gzip压缩是一项重要的性能提升措施,它能显著减少网页的响应时间,提高用户体验。本文主要介绍在Apache Tomcat服务器上配置和验证Gzip压缩是否生效的方法。 首先需要了解Tomcat中关于...

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

    本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们要了解如何在Tomcat中配置不同的端口来访问同一域名。在Web服务器中,端口是用来...

    EhCache开启gzip压缩功能

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

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

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

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

    对于Apache Tomcat这种广泛使用的Java Web应用服务器,Tomcat 7版本提供了内置的支持以开启gzip压缩功能,从而帮助用户优化其Web应用的性能。 在Tomcat 7服务器中开启gzip压缩功能,主要通过修改Tomcat的配置文件来...

    两小时精通Tomcat

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

    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环境下提供了...

Global site tag (gtag.js) - Google Analytics