1、tomcat调优项目可分为:调整Tomcat的线程池,调整Tomcat的连接器,调整tomcat的运行模式,禁用AJP的连接器, JVM的调优
Tomcat的线程池调优
调整server.xml
<Executor
name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="500"
minSpareThreads="20"
maxIdleTime="60000" />
name:给执行器(线程池)起一个名字;
namePrefix:指定线程池中的每一个线程的name前缀;
maxThreads:线程池中最大的线程数量;
minSpareThreads:线程池中允许空闲的线程数量(多余线程都杀死);
maxIdLeTime:一个线程空闲多久就算一个空闲线程:单位ms
Tomcat连接器调优
<Executor
name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="500"
minSpareThreads="20"
maxIdleTime="60000" />
<Connector
executor="tomcatThreadPool"
port="8080"
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
enableLookups="false"
maxProcessors="200"
minProcessors="20"
redirectPort="8443"
enableLookups="false"
URIEncoding="UTF-8"
/>
Tomcat运行模式
禁用AJP连接器
正常使用nginx+tomcat实现动静分离,一般建议禁止AJP连接器
注释 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
JVM的调优
修改 catalina.sh
JAVA_OPTS=“-Djava.awt.headless=true -Dfile.encoding=UTF-8-sever
-Xms1024, -Xmx1024m
-XX:NewSize=512m
-XX:MaxNewsize=512m
-XXermSize=512m
-XX:MaxPermSize=512m
-XX:+DisableExplicitGC”
调整堆大小的目的是最小化垃圾收集的时间,以特定的时间内最大化处理客户的请求;
2、调整tomcat 日志自动每天切换
修改catalina.sh,添加下列两行;
export CATALINA_BASE=/usr/local/tomcat/
export CATALINA_OUT="$CATALINA_BASE"/logs/catalina.`date +%Y-%m-%d`.out