tianzhig 发表于 2017-1-21 07:59:54

Tomcat线程池配置

  使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。
  使用方式:
  首先,打开/conf/server.xml,增加
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"  maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
  最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。
  然后,修改<Connector ...>节点,增加executor属性,如: 
  <Connector executor="tomcatThreadPool" 
  port="80" 
  protocol="HTTP/1.1" 
  maxThreads="600" //maxThreads:Tomcat可创建的最大的线程数,每一个线程处理一个请求; 
  minSpareThreads="100" //minSpareThreads:最小备用线程数,tomcat启动时的初始化的线程数; 
  maxSpareThreads="300"//maxSpareThreads:最大备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程;
  connectionTimeout="60000"//connnectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
  keepAliveTimeout="15000"        //长连接保持的最长时间
  maxKeepAliveRequests="1"        //最大的长连接请求数
  redirectPort="443"
  ....../>
  acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接。 
  enableLookups:是否允许DNS查询
  注意:可以多个connector公用1个线程池。
页: [1]
查看完整版本: Tomcat线程池配置