一、不适用线程池
配置:
tomcat同时处理的线程数。
配置依据:
(1)、部署的程序偏计算型,主要利用
cpu资源,应该将该参数设置小一点,减小同一时间抢占cpu资源的线程个数。
(2)、部署的程序对
io、数据库占用时间较长,线程处于等待的时间较长,应该将该参数调大一点,增加处理个数。
应该注意:如果线程数过大,那么cpu用在线程切换的时间占的比重会增大,系统性能会降低。
2、最大排队数 acceptCount
当tomcat的线程数达到maxThreads后,新的请求就会排队等待,超过排队数的请求会被拒绝。
我一般设置和maxThreads相同。
参数的设置需要进行测试,找到一个合理的点。
二、使用线程池
第一步,打开共享的线程池
maxThreads="1000" minSpareThreads="50" maxIdleTime="600000"/>
默认前后是注释掉的,去掉就可以了。
第二步
在 Connector里指定使用共享线程池
port="8009"
protocol="AJP/1.3"
maxThreads="5000"
executor="tomcatThreadPool"
注意,一旦使用了线程池,则其它的线程属性,比如 maxThreads等将被忽略
参考:
http://wallimn.iteye.com/blog/475511