调整堆大小提高服务的吞吐量
# 调整堆大小提高服务的吞吐量
使用Tomcat 8.5.66 测试调整堆大小提高服务的吞吐量。
Jemeter配置:线程数50,Ramp-Up时间1秒,循环次数1000
# 修改Tomcat JVM配置
生产环境下,Tomcat并不建议直接在catalina.sh
里配置变量,而是写在与catalina
同级目录(bin目录)下的setenv.sh
里。
所以如果我们想要修改jvm的内存配置,那么我们就需要修改setenv.sh
文件。(默认没有,需新建一个setenv.sh
)
touch setenv.sh
chmod +7 setenv.sh
# 初始配置
在setenv.sh
文件中写入(大小根据自己情况修改):
export CATALINA_OPTS="$CATALINA_OPTS -Xms20m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:SurvivorRatio=8"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx20m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParallelGC"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDetails"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MetaspaceSize=64m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDateStamps"
export CATALINA_OPTS="$CATALINA_OPTS -Xloggc:/home/wenwl/apache-tomcat-8.5.66/logs/gc.log"
分别进行了三次压测,通过jstat
指令或gc.log
发现每次存在大量的Full GC,吞吐量是(1909.8/sec),查看一下我们Jmeter汇总报告:
# 优化配置
修改堆空间初始化大小和最大内存:
export CATALINA_OPTS="$CATALINA_OPTS -Xms80m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx80m"
分别再进行了三次压测,通过jstat
指令或gc.log
发现Full GC明显减少,吞吐量明显上升(2957.6/sec),查看一下我们Jmeter汇总报告:
上次更新: 5/28/2023, 10:57:53 PM