小奋斗 - 轻松学习从此开始!
IT小奋斗群 QQ群:62017228

Tomcat配置并发连接数详解

在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10。

maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75。

acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100。

enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false。

connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。Unix中如何设置这些参数,请参阅Unix常用监控和管理命令。


具体的配置信息:

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080"
        minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
        acceptCount="100" debug="0" connectionTimeout="20000 " useURIValidationHack="false"
        protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
        
<Connector   port="8080"  
      maxThreads="150"    
      minSpareThreads="25"    
      maxSpareThreads="75"  
      acceptCount="100"  
      />

maxThreads="150" ,表示最多同时处理150个连接  

minSpareThreads="25" ,表示即使没有人使用也开这么多空线程等待  

maxSpareThreads="75" ,表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。  

acceptCount="100",当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。


使用Jconsole监控:

在需要监控的tomcat_home/bin/catalina.sh(Linux)文件中添加下面语句:

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8089

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false"

设置一个新的端口号。然后在本机dos下输入Jconsole命令,弹出“Java 监视和管理控制台”,如果是远程监视,就输入<hostname>:<port>,这个port就上上面配置的8089,然后再输入远程主机的用户名跟口令。


我来评几句
登录后评论

已发表评论数(0)