server.tomcat.accept-count =100 # 当所有可能的请求处理线程都在使用时, 传入连接请求的最大队列长度.
server.tomcat.max-connections = 10000 # 服务器在任何给定时间接受和处理的最大连接数.
server.tomcat.max-threads =200 #最大工作线程数.
server.tomcat.min-spare-threads =10 # 最小工作线程数.
理解
请求进来后, 会创建线程, 数量达到 max-threads
, 此时如果所有线程都没处理完请求, 那么新请求会继续创建连接, 数量达到 max-connections 减去 max-thread
(因为 max-thread
此时也在保持连接). 如果还有请求会加入到 accept-count
长度的队列 (等待建立连接), 如果还有请求会拒绝连接. 线程空闲后, 最小线程数恢复到 min-spare-threads
贴一个网上的图. 不过我的理解是 maxConnection 里是包含正在处理请求的工作线程数量的
参考
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
https://blog.csdn.net/abcdu1/article/details/112996643
https://blog.csdn.net/seabreezesuper/article/details/84874917