【Tomcat】第十一篇:浅谈Tomcat 调优的几种方案

衡量性能的四大指标:响应时间,吞吐量,CPU负载,内存使用情况,这几个指标并不是单独的,而是一起的,他们是一个四边关系,各个指标都是建立在其他的指标基础上的。他们相互影响,相互关联。

理想是丰满的,现实是骨感的,优化中讲究积少成多,每个方面一点点的优化,多起来的话对全局就有影响了。性能优化其实也是这样的一个主题。

1.Tomcat性能优化中使用的工具

jmeter 这个工具是纯 java 写的,它也是一个分布式的工具,可以做单机测试,也可以做分布式的多机的压力测试。具体怎么做分布式压力测试可以百度到。

2.Tomcat中server.xml优化

  • NIO

    小明在家附近的一个很大的理发店办了张会员卡,那个店子生意太好,每次去剪头发都需要排队,这个剪头发的过程本身就是一个长时间的过程,是一个长连接。如果是采用BIO的方式,一个理发师只能同时服务一个人

    如果采用NIO的话,可以把过程进行拆解,把剪发分为洗发、剪发、吹法。现在理发店都是采用雇佣很多年轻的小伙子,不管人多少,洗发这个过程可以不阻塞,洗完可能需要等理发师剪发,理发师剪完发后再转给之前洗发的小伙子给你吹干。

    前面小明这个剪头发的流程就是一个典型的NIO。最大压榨了理发师,把理发师的时间片段都利用了起来。这个就是Tomcat 8.5已经9的版本后把BIO给废掉了的原因。

  • 线程池

    线程池的好处在于统一管理,使用线程池的话如果发现线程空闲时间达到比如(60秒的时间),会自动回收。如果不使用线程池的话就把线程池丢给的gc去回收。(jvm的回收机制),这个就很难控制了,所以使用线程池最大的好处是保证系统的稳定性,很多时候我们做项目,稳定性是排在第一位的。

3.Tomcat中web.xml优化

JSP 其实是jsp -> java -> class的一个过程。Tomcat在运行过程中会把你访问的这些jsp做这些操作,其实我们可以预先编译下,节约性能。

4.SpringBoot中Tomcat的优化

SpringBoot中用了 TomcatContextCustomizer 和 TomcatConnectorCustomizer 来实现Tomcat,可以看看这个方面的源码

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

A minor

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

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

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

打赏作者

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

抵扣说明:

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

余额充值