一、tomcat优化 conf/server.xml
1.屏蔽AJP
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
2.配置线程池,并设置Nio2 线程池数量根据压测数据进行调整,默认值200
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="1000" minSpareThreads="100" prestartminSpareThreads="true"/>
<Connector executor="tomcatThreadPool"
port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000"
redirectPort="8443" />
二、jvm参数优化 bin/catalina.sh
Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍
永久代 PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。
年轻代Xmn的设置为老年代存活对象的1-1.5倍。
老年代的内存大小设置为老年代存活对象的2-3倍。
JAVA_OPTS="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -Xms1024m -Xmx1024m -XX:NewSize=300m -XX:MaxNewSize=300m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:/www/server/tomcat/logs/gc.log"
使用https://gceasy.io/此网站进行gc日志分析 根据结果进行参数调整