从默认配置看,SpringBootd的最大可以处理8292个请求,方便记忆是:不到8300
javascript
server:
port: 8081
tomcat:
threads:
max: 20 #最大工作线程数
min-spare: 10 #最小工作线程数
max-connections: 8192 #最大请求连接数
accept-count: 100 #允许等待连接数
connection-timeout: 10000 #等待连接超时
线程的工作机制:
并发请求进来,看最小线程数能否满足作业,如果请求量超出最小线程数,就让超出的那部分进入等待队列,如果等待队列都不能完全容下,就需要开辟新的线程但不能超过做大线程数来处理。
比如:我配置最大请求连接是20,允许等待是10,此时进来50并发,能处理的20+10 = 30,剩下的20不会马上报连接超时,它们会观望一段时间,如果30个请求有完成的就会处理,如果观望超时就会报超时连接异常