Tomcat性能优化相关介绍

性能优化的三个指标

1.降低响应时间
2.提高系统吞吐量(QPS)
3.提高服务的可用性
 

Tomcat性能优化中使用的工具

JConsole:一个内置 Java性能分析器

jdk安装目录/bin/jconsole.exe
 

JMeter:一个Apache组织开发的基于Java的压力测试工具

下载地址:http://jmeter.apache.org/download_jmeter.cgi
 

性能优化测试原则

指标:正确率、CPU占有率、QPS、JVM
程序分类:I/0密集型(网络,文件读写),CPU密集型(加密/解密算法)
 

Tomcat中server.xml优化

1.Connector连接器的I/O模型

连接器模式改为NIO模式
NIO模式最大化压榨了CPU,把时间片更好利用起来
NIO适合大量长连接

<Connector port="9090" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="8009" protocol="org.apache.coyote.ajp.AjpNioProtocol" redirectPort="8443" />

2.关闭自动重载

    <Context  docBase="" reloadable="false"/>

关闭自动重载,默认是true(不同版本中有差异)
自动加载增加运行开销并且很容易内存溢出

3.配置线程池

Executor标签中属性
       【namePrefix】线程命名前缀
       【maxThreads】最大允许线程数
       【minSpareThreads】最少空闲线程,相当于初始化的线程,线程池中的线程
Connector标签中的属性
       【executor】对上面Executor标签标签的引用

<Executor name="tomcatThreadPool"   
        namePrefix="tomcatThreadPool-"   
        maxThreads="200"   
        minSpareThreads="10"/> 

	<Connector executor="tomcatThreadPool"  
           port="9090" protocol="HTTP/1.1"  
               connectionTimeout="20000"  
               redirectPort="8443"  />

SpringBoot中Tomcat优化

Maven中Springboot引入Tomcat

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-tomcat</artifactId>
    	<scope>provided</scope>
    </dependency>

1.设置线程池

server.tomcat.max-threads=1000

2.关闭Accesslog日志

server.tomcat.accesslog=false
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值