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

相关推荐
axng pmje1 小时前
Java语法进阶
java·开发语言·jvm
dFObBIMmai2 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw02 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
2401_882273723 小时前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python
一起搞IT吧4 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
2301_795099746 小时前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
techdashen8 小时前
从 51% CPU 占用到 SIMD 加速:Cloudflare 防火墙引擎的性能优化实录
性能优化
草履虫君9 小时前
VMware 虚拟机网络性能优化指南:从 11 秒到 4 秒的完整调优实践
服务器·网络·经验分享·性能优化
kexnjdcncnxjs11 小时前
Redis如何记录每一次写操作_开启AOF持久化机制实现命令级追加记录
jvm·数据库·python
kyriewen11 小时前
你的网页慢,用户不说直接走——前端性能监控教你“读心术”
前端·性能优化·监控