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抓包分析:
抓包发现浏览器发送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特性,测试:
通过抓包发现,现在只有14个响应包,请求总耗时才0.06s,的确很快。
相关推荐
tomcat开启gzip,如何开启tomcat 中gzip文件1
1. 打开压缩功能:在`<Connector>`节点中添加`compression="on"`,这表示开启gzip压缩。 2. 设置压缩阈值:通过`compressionMinSize`属性设定启用压缩的最小输出内容大小。例如,`compressionMinSize="50"`表示当...
5. **自定义配置**:Tomcat的GZIP源码通常允许开发者通过web.xml配置文件调整过滤器的行为,例如设置最小压缩长度、启用或禁用GZIP,以及选择性地对某些类型的资源应用压缩。 6. **多线程安全**:在高并发环境下,...
3. **启用Gzip压缩**:在`<Connector>`标签内,添加`compression="on"`属性来开启Gzip压缩。同时,可以设置`compressionMinSize="2048"`,表示只有当响应体大小超过2048字节时才启动压缩,以避免对小文件的过度压缩...
开启TOMCAT6的GZIP压缩功能,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。...
使用gzip压缩,能够减少数据传输大小,加快网页或APP加载速度。很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,本文档使用截图和文字的方式详细讲解了压缩数据的配置和过程,希望对您有益!
主要介绍了如何验证Tomcat Gzip配置是否生效的方法,需要的朋友可以参考下
在Web应用中,开启gzip压缩功能能够显著减小数据传输量,从而加快网页加载速度,降低服务器带宽消耗。以下是对EhCache开启gzip压缩功能的详细说明。 首先,gzip是一种广泛使用的数据压缩算法,尤其在Web服务器中,...
这里,`compression="on"`开启GZIP压缩,`compressionMinSize="2048"`表示只有当响应内容大于2048字节时才会进行压缩。`noCompressionUserAgents`用于指定某些不支持GZIP的浏览器,如gozilla和traviata,不会对其...
很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的。 对于tomcat7服务器,打开conf文件夹下...
Tomcat的性能可以通过调整JVM参数、增大线程池大小、开启GZIP压缩、启用HTTP/2等方式进行优化。监控和分析日志也能帮助识别性能瓶颈。 七、Tomcat集群与负载均衡 当需要处理高并发时,可以设置Tomcat集群,实现负载...
主要介绍了应用Tomcat进行多端口域名访问,并配置开启gzip压缩方法,需要的朋友可以参考下
4. 开启GZIP压缩以减少网络传输的数据量。 总结,Apache Tomcat 8.0.3是一个强大的Java Web服务器,能够有效地支持JSP和Servlet应用。通过了解其核心特性和工作原理,以及正确配置和优化,我们可以充分利用Tomcat的...
5. 优化Web应用程序:压缩静态资源,减少HTTP请求,启用GZIP压缩,以及使用CDN服务等。 在安装和部署Tomcat时,还需要注意以下几点: 1. 确保Java环境已正确安装并配置,且版本与Tomcat兼容。 2. 配置系统环境变量...
为了提升性能,可以考虑调整Tomcat的线程池大小、JVM内存设置、开启GZIP压缩等。此外,还可以通过调整JVM的垃圾回收策略和使用数据缓存来提高响应速度。 综上所述,Apache Tomcat 8.5.47在Windows x64环境下提供了...
* 启用Gzip压缩(gzip)设置为on * 服务器集群(upstream)配置,包括两个Tomcat实例,分别权重为1和2 * Nginx服务器配置,包括监听端口、服务器名称、代理_pass、代理重定向等 五、负载均衡演示 * 启动Nginx...
这是一个gzip压缩的tarball文件,需要使用tar命令解压。例如,在Linux终端中,你可以使用以下命令进行解压: ```bash tar -zxvf apache-tomcat-8.0.44.tar.gz ``` 解压后,你会得到一个名为"apache-tomcat-8.0.44"的...
8. **性能优化**:可以通过调整JVM参数、设置线程池大小、开启GZIP压缩等方式优化Tomcat性能。 9. **错误处理**:理解HTTP状态码和Tomcat的错误页面配置,有助于排查应用运行中的问题。 以上就是关于“Tomcat9绿色...