JVM_性能优化案例:调整堆大小提高服务的吞吐量

调整堆大小提高服务的吞吐量

修改tomcatJVM配置

生产环境下,Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。

初始配置

setenv.sh文件中写入(大小根据自己情况修改):setenv.sh内容如下:

cpp 复制代码
export CATALINA_OPTS="$CATALINA_OPTS -Xms30m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:SurvivorRatio=8"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx30m"
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:/opt/module/apache-tomcat-8.5.88/logs"

查看日志

其中存在大量的Full GC日志,查看一下我们Jmeter汇总报告

发现触发了一次gc

接下来我们测试另外一组数据,增加初始化和最大内存:

cpp 复制代码
export CATALINA_OPTS="$CATALINA_OPTS -Xms120m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:SurvivorRatio=8"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx120m"
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:/opt/module/apache-tomcat-8.5.88/logs"

发现没有触发gc

相关推荐
桦说编程1 小时前
并发编程高级技巧:运行时检测死锁,告别死锁焦虑
java·后端·性能优化
ss2732 小时前
从零实现线程池:自定义线程池的工作线程设计与实现
java·开发语言·jvm
总是学不会.4 小时前
【JUC编程】一、线程的基础概念
java·开发语言·jvm
while(1){yan}5 小时前
JVM八股文
java·开发语言·jvm·java-ee
向往着的青绿色5 小时前
编程式事务,更加精细化的控制
java·开发语言·数据库·spring·性能优化·个人开发·设计规范
桦说编程6 小时前
实现一个简单的并发度控制执行器
java·后端·性能优化
铁锚6 小时前
JDK21与lombok插件的兼容性问题
jvm·maven
科技快报7 小时前
昇思人工智能框架峰会 | 昇思MindSpore MoE模型性能优化方案,提升训练性能15%+
人工智能·性能优化
许泽宇的技术分享9 小时前
Agent Framework:性能优化
性能优化
qq_377112379 小时前
JAVA的平凡之路——此峰乃是最高峰JVM-GC垃圾回收器(1)-06
java·开发语言·jvm