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

相关推荐
wan_da_ren11 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
best_virtuoso11 小时前
JAVA JVM垃圾收集
java·开发语言·jvm
顾林海11 小时前
Android 性能优化:启动优化全解析
android·java·面试·性能优化·zygote
断剑重铸之日14 小时前
Flutter 滑动面板组件(修复版)
flutter·性能优化
我待_JAVA_如初恋16 小时前
理解:进程、线程、协程
java·jvm
顾林海19 小时前
Android深入解析 so 文件体积优化
android·面试·性能优化
勤奋的知更鸟20 小时前
JavaScript 性能优化实战:深入性能瓶颈,精炼优化技巧与最佳实践
开发语言·javascript·性能优化
mit6.8241 天前
[Nagios Core] 事件调度 | 检查执行 | 插件与进程
c语言·开发语言·性能优化
小李飞飞砖1 天前
JVM 锁自动升级机制详解
开发语言·jvm·c#
Code季风1 天前
深度优化 spring 性能:从缓存、延迟加载到并发控制的实战指南
java·spring boot·后端·spring·缓存·性能优化