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

相关推荐
她说..5 分钟前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee
sinat_255487812 小时前
泛型·学习笔记
java·jvm·数据库·windows·python
weixin199701080162 小时前
《界面网商品详情页前端性能优化实战》
前端·性能优化
「QT(C++)开发工程师」2 小时前
C++17三大实用特性详解:折叠表达式、结构化绑定与constexpr if
jvm·c++
minji...3 小时前
Linux 多线程(五)用C++语言以面向对象方式封装线程
linux·运维·服务器·网络·jvm·数据库
牛奶10 小时前
setTimeout设为0就马上执行?JS异步背后的秘密
前端·性能优化·promise
chxii15 小时前
Nginx性能优化-压缩(返回头报文介绍)
运维·nginx·性能优化
weixin1997010801619 小时前
《中控网商品详情页前端性能优化实战》
前端·性能优化
她说..21 小时前
Java 基本数据类型高频面试题
java·开发语言·jvm·spring boot
明灯伴古佛1 天前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试