Tomcat性能优化:
- 修改线程池 默认线程池配置: <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150” minSpareThreads=“4” maxIdleTime=“60000"/> 修改线程池: <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads=“150” maxSpareThreads=“75” minSpareThreads=“25” maxIdleTime=“60000” acceptCount=“1000"/> maxThread 表示最大能同时处理的连接数 minSpareThreads 表示最少开这么多线程等待处理 minSpareThreads 表示最多有这么多空闲线程 acceptCount 表示当达到最大线程数的时候还可以排队的数目 具体的参数需要结合机器,可以通过测试得到最优配置。
- 设置为NIO 默认协议为BIO(Linux Tomcat8之前): <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" enableLookups=“false" redirectPort="8443" /> 修改为NIO <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" enableLookups=“false" redirectPort="8443" />
- JVM内存调优 在catalina.sh中添加: JAVA_OPTS = “-Xmx1024m -Xms1024m -Xmn400m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:/usr/local/tomcat/logs/gc.log” cygwin=false -Xmx1024 设置堆大小最大为1024m,具体根据机器内存大小调节 -Xms1024 设置对大小最小为1024m -XX:+UseParNewGC 年轻代使用并行GC -XX:+UseConcMarkSweepGC 年老代使用并发GC 可以根据内存大小和访问量进行修改,具体值设置要参考gc log。 JVM可参考这篇文章: