Tomcat如何优化(面试)

一、增大tomcat运行内存
例如:从默认的 256M增大到2G

SET CATALINA_OPTS= -Xms2048m -Xmx4096m -XX:MaxNewSize=512m -XX:MaxPermSize=256m
set JAVA_OPTS=-Xms2048m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m

rem SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
rem SET CATALINA_OPTS= -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m 
@echo off

参考:
https://blog.csdn.net/qcb_163/article/details/80628945

解释:
-Xms 为jvm启动时分配的初始内存 比如-Xms200m,表示分配200M
-Xmx 为jvm运行分配的最大内存 比如-Xms500m,表示jvm进程最多只能够占用500M内存
-Xss 每个线程堆栈的大小 一般情况下256K是足够了。影响了此进程中并发线程数大小
-XX PermSize=64M JVM初始分配的非堆内存
-XX MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

注意:
JDK8中用metaspace代替permsize,因此在许多我们设置permsize大小的地方同样需要修改配置为metaspace

将-XX:PermSize=200m;-XX:MaxPermSize=256m;
修改为:-XX:MetaspaceSize=200m;-XX:MaxMetaspaceSize=256m;

参考:https://blog.csdn.net/qq924862077/article/details/51540171

二、利用缓存和压缩
  对于静态页面最好是能够缓存起来,这样就不必每次从磁盘上读。这里我们采用了Nginx作为缓存服务器,将图片、css、js文件都进行了缓存,有效的减少了后端tomcat的访问。
  另外,为了能加快网络传输速度,开启gzip压缩也是必不可少的。但考虑到tomcat已经需要处理很多东西了,所以把这个压缩的工作就交给前端的Nginx来完成。
  除了文本可以用gzip压缩,其实很多图片也可以用图像处理工具预先进行压缩,找到一个平衡点可以让画质损失很小而文件可以减小很多。曾经我就见过一个图片从300多kb压缩到几十kb,自己几乎看不出来区别。

三、组建tomcat集群
  单个服务器性能总是有限的,最好的办法自然是实现横向扩展,那么组建tomcat集群是有效提升性能的手段。我们还是采用了Nginx来作为请求分流的服务器,后端多个tomcat共享session来协同工作。

四、关闭客户端dns查询:enableLookups
根据项目需要,设置最大与最小的线程数目
maxThreads
minSpareThreads

优化tomcat参数
  这里以tomcat7的参数配置为例,需要修改conf/server.xml文件,主要是优化连接配置,设置最大与最小的线程数目(maxThreads,minSpareThreads),关闭客户端dns查询。

具体配置如下:

<Connector port="8080"   
           protocol="org.apache.coyote.http11.Http11NioProtocol"  
           connectionTimeout="20000"  
           redirectPort="8443"   
           maxThreads="500"   
           minSpareThreads="20"  
           acceptCount="100" 
           disableUploadTimeout="true" 
           enableLookups="false"   
           URIEncoding="UTF-8" /> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值