Tomcat性能调优

资料来自:蚂蚁课堂,Tomcat性能调优

此篇文章主要记录下学习的技能,方便后期查阅。

Tomcat臃肿点

  • 默认加载了一些我们实际开发用不到的组件,例如:Jsp
  • IO模型默认是APR,可能其他高版本是NIO
  • 默认启用了AJP,内部通讯的集群,一直有10个线程在执行。

1:不需要视图层开发,也就是前后端分离,或者不需要Jsp的时候,关闭掉Jsp支持。
conf.web.xml中删掉以下两处配置。

在这里插入图片描述
在这里插入图片描述
如果不需要ROOT目录的映射,还可以把DefaultServlet也删掉。


2:在conf.web.xml把欢迎页面也删掉,虽然作用不大。
在这里插入图片描述


3:在conf.web.xml删除掉一些没必要的响应类型,虽然作用不大。
在这里插入图片描述


4:把AJP的内部通讯删掉,这是用于tomcat集群的,实际开发用不到,它会开启一个线程池,内部有10个线程,一个在活跃,占用CPU资源。
JDK自带的jconsole工具查看tomcat占用的线程.。
在这里插入图片描述

conf/server.xml中删除掉以上配置,就不会有ajp相关的线程了,可以节省cpu资源。
在这里插入图片描述

3:NIO线程数配置,
在这里插入图片描述

  • name:线程数配置名称/ID。
  • namePrefix:线程名称前缀。
  • maxThreads:最大线程数。
  • minSpareThreads:最小活跃线程数,一直处于活跃的线程。

Connector 中引用配置的线程数
在这里插入图片描述
JDK自带的jconsole工具查看下,就只有4个线程保持活跃状态。
在这里插入图片描述


线程数配置需要根据生产实际并发情况,如果并发量高,可以把最小活跃线程数minSpareThreads设置大一点
maxThreads 最大线程数,也就是并发量达到该值,其他线程需要等待,可以将该值设置minSpareThreads它的好几倍,避免并发事,出现用户卡顿。


conf/server.xmlConnector参数配置可以查看该文章 Tomcat中Connector常用配置及问题解决

Tomcat运行内存配置:摘抄自 Tomcat内存优化

Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。
  JAVA_OPTS参数说明
  -server 启用jdk 的 server 版;
  -Xms java虚拟机初始化时的最小内存;
  -Xmx java虚拟机可使用的最大内存;
  -XX: PermSize 内存永久保留区域
  -XX:MaxPermSize 内存最大永久保留区域
  
  服务器参数配置
  
  现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置
  
  JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’
  
  配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:
  
  首先查看Tomcat 进程号:
  
  sudo lsof -i:9027
  
  我们可以看到Tomcat 进程号是 12222 。
  
  查看是否配置生效:
  
  sudo jmap – heap 12222
  
  我们可以看到MaxHeapSize 等参数已经生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Me_Liu_Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值