1. tomcat 的线程配置参数详情如下:
修改conf/server.xml中的<Connector .../> 节点如下:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"
/>
参数配置:
maxThreads : 最大线程数
minSpareThreads : 初始化时的线程数
maxSpareThreads : 一但创建的线程数超过这个值,Tomcat就会关闭不再需要的socket线程。
accepCount : 指当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
2. tomcat线程池配置:(用较少的线程处理较多的访问,可以提高tomcat处理请求的能力)
a) 打开conf/server.xml ,增加节点 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
maxThreads : 最大线程500
minSpareThreads : 最小线程20
maxIdleTime : 线程最大空闲时间60s
b) 修改<Connector ...>节点,增加executor属性如下:
<Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="60000" keepAliveTimeout="15000" maxKeepAliveRequests="1" redirectPort="443" maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="100" disableUploadTimeout="true"/>
参数解释:
connectionTimeout :网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
keepAliveTimeout :长连接最大保持时间(毫秒)。此处为15秒。
maxKeepAliveRequests :最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间)。
maxHttpHeaderSize : http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
URIEncoding :Tomcat容器的URL编码格式。
acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认为10个。
disableUploadTimeout :上传时是否使用超时机制。
enableLookups :是否反查域名,取值为:true或false。为了提高处理能力,应设置为false。
bufferSize :defines the size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes are provided.
maxSpareThreads :做多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
maxThreads :最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
minSpareThreads :最小空闲线程数,Tomcat初始化时创建的线程数。
注意:Tomcat5+主要对以下参数调整 maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。 acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。 connnectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 minSpareThreads Tomcat初始化时创建的线程数。 maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
3. tomcat启动时候的jvm的配置参数信息在tomcat下面的bin目录:
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下:
必须加在catalina.bat最前面: set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m
linux下:
必须加在catalina.sh最前面: JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m - Duser.timezone=Asia/Shanghai"
注意:前后二者区别,有无set,有无双引号。