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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐