tomcat的accept-count、max-connections、max-threads三个参数的含义

tomcat的accept-count、max-connections、max-threads三个参数的含义

tomcat的accept-count、max-connections、max-threads三个参数的含义

max-connections:最大连接数

最大连接数是指,同一时刻,能够连接的最大请求数

需要注意的是,能够连接并不代表可以立即处理,可以立即处理请求的受最大线程数的控制

accept-count:最大等待数

最大等待数是指,当请求到达最大连接数时,还有新的请求会放在等待队列中,等待队列最大值为最大等待数

最大等待数类似JDK线程池的阻塞队列,队列里的任务要等前面的任务执行完才会被执行

需要注意是,最大等待数 前面的请求,也就是最大连接数 内的请求,也不会全部都立即处理,立即处理的只有最大线程数个请求

多余最大连接数 +最大等待数的请求,将会直接被拒绝

max-threads:最大线程数

最大线程数是指,可以同时处理的最大请求数

最大线程数并不会控制请求数,这与JDK的线程池有些区别,JKD线程池最多保留最大线程数+阻塞队列个任务,再多余的就要执行拒绝策略。而这里的最大线程数表示的是一种同时处理的能力,被动的接受并处理给过来的请求

可接受的请求数是由最大连接数 +最大等待数控制的

总结

  1. tomcat同一时间最多可以接受最大连接数 +最大等待数个请求,多余的请求将会被拒绝
  2. 最大线程数决定了同时处理的请求数,因此可能会有部分请求不会被立即处理,但并不表示该请求被拒绝了
  3. 最大等待数 中的请求不会被立即处理,最大连接数 中的任务也不是所有的请求都会被立即处理,因为立即执行的请求只有最大线程数

类比生活中的例子

去火锅店吃火锅

最大连接数:店里有座位,前面的人可以到店里坐下点餐

最大等待数:店里没位置时,可以在门口进行排号,排号到一定数量时,后面的顾客将被通知无法进店用餐

最大线程数:店里服务员进行上菜,第一时间吃上菜的顾客数就是服务员的个数。所以并不是每个人都能在第一时间吃上菜

参考

https://blog.csdn.net/sgy86/article/details/113926546

相关推荐
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 高校评教评学系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
老华带你飞3 小时前
博物馆展览门户|基于Java博物馆展览门户系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
路边草随风3 小时前
iceberg 基于 cosn 构建 catalog
java·大数据
It's now3 小时前
Spring Framework 7.0 原生弹性功能系统讲解
java·后端·spring
点PY3 小时前
C++ 中 std::async 和 std::future 的并发性
java·开发语言·c++
一 乐3 小时前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端
带刺的坐椅3 小时前
Solon AI 开发学习19 - 结合 Solon Flow 实现 ReAct 效果
java·ai·chatgpt·llm·openai·solon·deepseek
CoderYanger4 小时前
Java SE——12.异常(≠错误)《干货笔记》
java·开发语言
Data_agent4 小时前
1688获得1688店铺所有商品API,python请求示例
java·开发语言·python
why1514 小时前
面经整理——算法
java·数据结构·算法