Tomcat优化之执行器

在tomcat中用户每一个请求都是一个线程,所以可以使用线程池来提高tomcat性能
修改conf目录下 server.xml文件

#将注释打开,开启执行器
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/>

参数说明:
maxThreads:最大并发数,默认设置 200,一般建议在 500 ~ 1000,根据硬件设施和业务来判断 minSpareThreads:Tomcat 初始化时创建的线程数,默认设置 25 prestartminSpareThreads: 在 Tomcat 初始化的时候就初始化 minSpareThreads 的参数值,如果不等于 true,minSpareThreads 的值就没啥效果了 maxQueueSize,最大的等待队列数,超过则拒绝请求

在Connector中设置executor属性指向上面的执行器

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

重启tomcat生效,进入服务状态页面
在这里插入图片描述

最大并发数显示 -1 初始化为50已经生效,关于为什么最大并发数配置的是500显示为-1
经过测试,这个属性是生效的,将其设为1后,Current thread count(当前线程数)是不会超过1的,
实际上是生效的,查了tomcat7文档的maxThreads属性
在这里插入图片描述
最后一句话“Note that if an executor is configured any value set for this attribute will be recorded correctly but it will be reported (e.g. via JMX) as -1 to make clear that it is not used.”就说到了这个情况,意思大概是:
如果配置了一个Executor,则该属性的任何值集将被正确记录,但是它将被显示为-1

显示 -1的问题参考https://blog.csdn.net/weixin_38278878/article/details/80144397

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值