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" />