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

相关推荐
丶Darling.6 小时前
26考研 | 王道 | 计算机组成原理 | 四、指令系统
考研·性能优化
LUCIAZZZ8 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
smallzip9 小时前
node大文件拷贝优化(显示进度)
前端·性能优化·node.js
yzx99101310 小时前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
Fly-ping11 小时前
【前端】vue3性能优化方案
前端·性能优化
异常君13 小时前
高并发数据写入场景下 MySQL 的性能瓶颈与替代方案
java·mysql·性能优化
renxhui15 小时前
JVM的内存区域和垃圾回收机制
jvm
早日退休!!!16 小时前
性能优化笔记
笔记·性能优化
顾林海16 小时前
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
android·面试·性能优化
一颗奇趣蛋17 小时前
vue性能优化(响应数据&静态数据)
vue.js·性能优化