Springboot内置Tomcat线程数优化
等待队列长度,默认100。队列也做缓冲池用,但也不能无限长,不但消耗内存,而且出队入队也消耗CPU
server.tomcat.accept-count=1000
最大工作线程数,默认200。(4核8g内存,线程数800,一般是核数*200。操作系统做线程之间的切换调度是有系统开销的,所以不是越多越好。)
server.tomcat.max-threads=800
最小工作空闲线程数,默认10。(适当增大一些,以便应对突然增长的访问量)
server.tomcat.min-spare-threads=100
#最大连接数,默认为10000
server.tomcat.max-connections=10000
#上线前可以压测一下,调整参数配置,查看tomcat线程数命令如下:
- 获取tomcat进程pid
ps -ef|grep tomcat
- 统计该tomcat进程内的线程个数
ps -Lf 29295 |wc -l