1.在tomcat的启动脚本catalina.sh中设置JAVA_OPTS参数:
-server 启用jdk的server版;
-Xms java虚拟机初始化时的最小内存;
-Xmx java虚拟机可使用的最大内存;
-XX:PermSize 内存永久保留区域
-XX:MaxPermSize 内存最大永久保留区域
# $Id: catalina.sh 750920 2009-03-06 14:43:19Z markt $
# -----------------------------------------------------------------------------
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:permSize=32m -XX:MaxPermSize=64m'
# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
2.修改server.xml文件,调整连接器connector的并发处理能力。
注释掉原来的连接器配置,一般默认的端口是8080,这里可以自己改的;
maxThreads 客户请求最大线程数
minSpareThreads Tomcat初始化时创建的socket线程数
maxSpareThreads Tomcat连接器的最大空闲socket线程数
enableLookups 若设为true,则支持域名解析,可把ip地址解析为主机名
redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL的redirectPort端口
acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
useBodyEncodingURI ,是否对GET方式提交的表单和数据重新编码
<Connector port="8008"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThread="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="true"
redirectPort="8443"
acceptCount="1000"
connectionTimeout="20000"
useBodyEncodingForURI="true"
/>