tomcat工作原理

原理:

1个请求,tomcat出一个线程,tomcat给映射到webapps进行处理请求,处理完之后把结果返回给tomcat,tomcat通过8080端口给客户端返回结果。经过这个闭环,tomcat线程才能释放。

tomcat不参与代码计算,主要是对接用户请求,返回用户结果。

用到的三个参数

maxThreads 默认值200,tomcat可同时处理的最大线程数
acceptcount 默认值100
connectionTimeout 默认值20000,20秒,客户端与8080建立连接的超时时间

三个场景

场景1:

当同时并发的请求书<200,tomcat启动的线程则不会达到maxThreads,故8080服务进一个请求,就会出一个线程对接。

场景2:

当同时并发的请求书>200 ,tomcat启动的线程则会达到maxThreads,故8080服务进一个请求,tomcat会把此请求放入等待队列,等待空闲线程。

场景3:

当同时并发的请求数>200,acceptcount>100,比如客户端每秒发310个并发请求,故8080服务进一个请求,tomcat会直接拒绝此请求,返回connection refused

-----maxThreads为什么会不断上升?

1.并发请求量大
2. 代码有瓶颈,造成占用的线程不能释放

------acceptcount不断上升的原因?

  1. 并发请求量大,已达到maxThreads
  2. 代码有瓶颈造成占用的线程不能释放

—connectTimeOut

20s之内连不上就超时
网络或被测服务压力大
客户端与8080建立连接的网络原因

-----connection refused

并发请求量大于maxThreads + acceptcount的总和

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值