Tomcat优化之并发优化

来源:互联网 发布:nginx 变量 header 编辑:程序博客网 时间:2024/05/29 15:24
并发优化


<Connector port="8080"   
          protocol="HTTP/1.1"   
          maxThreads="1000"   
          minSpareThreads="100"   
          acceptCount="1000"  
          maxConnections="1000"  
          connectionTimeout="20000"   
          redirectPort="8443" />
 
maxThreads:tomcat线程池最多可以启动多少个线程来处理请求,默认是200,推荐为1000;
minSpareThreads:tomcat保持运行的线程最少数量;
acceptCount:tomcat允许排队的线程的数量,超过该值将会被拒绝请求,推荐设置为maxThreads相同值;
maxConnections:tomcat实际上最多启动多少个线程处理请求,约束maxThreads;
connectionTimeout:连接超时时间,单位毫秒;


maxThreads是指Tomcat线程池做多能起的线程数,而 maxConnections 则是Tomcat一瞬间做多能够处理的并发连接数。
比如maxThreads=1000,maxConnections=800,假设某一瞬间的并发时1000,那么最终Tomcat的线程数将会是800,
即同时处理800个请求,剩余200进入队列“排队”,如果acceptCount=100,那么有100个请求会被拒掉。


注意:根据前面所说,只是并发那一瞬间Tomcat会起800个线程处理请求,但是稳定后,
某一瞬间可能只有很少的线程处于RUNNABLE状态,大部分线程是TIMED_WAITING,如果你的应用处理时间够快的话。 
所以真正决定Tomcat最大可能达到的线程数是maxConnections这个参数和并发数,当并发数超过这个参数则请求会排队,这时响应的快慢就看你的程序性能了。
原创粉丝点击