一、tomcat的三个重要配置
1、maxConnections:最大连接数
解释: 在同一时间下,tomcat能够接收的最大连接数。
默认值:
-
java的阻塞式BIO:默认值是maxthreads的值
-
在BIO使用定制的Executor执行器:默认值是执行器中的maxthreads值
-
java新的NIO模式:默认值10000
注意: 如果设置为-1,则禁用maxConnections,代表不限制tomcat的连接数
2、accept-count:最大等待数
解释: 当所有的请求处理线程都被使用时,所能接收的请求队列长度,超过长度,则请求拒绝
默认值: 100
3、maxThreads:最大线程数
解释: 每一次http请求,tomcat都会创建一个线程来处理请求,最大线程数,即决定了Web服务能同时处理多少个请求
默认值: 200(开的线程越多,cpu消耗也越多)
二、其他
线程可以开很多,一般一个线程需要1MB,4G内存就可以开2000个线程(系统会预留一半)
但是问题来了,如果2000个线程同时跑起来,那你服务器的cpu估计就废掉了,所以一般单机单cpu线程开100~200个已经足够处理普通高并发,如果真的还能解决问题,那么就得换成集群分布式来解决了