Java垃圾收集日志添加的开销分析
这篇文章主要讲解了"Java垃圾收集日志添加的开销分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java垃圾收集日志添加的开销分析"吧!
环境
对于我们的研究,我们选择使用开源spring boot pet Clinic 应用程序。Pet Clinic 是一个典型的应用程序,旨在展示 spring boot 框架的功能。
我们在 OpenJDK 11 中运行此应用程序。我们将此应用程序部署在 Amazon AWS t2.medium EC2 实例上,该实例具有 16GB RAM 和 2 个 CPU。测试是使用 Apache JMeter 压力测试工具编排的。我们使用 AWS Cloudwatch 来衡量 CPU、内存利用率。简而言之,这里是我们用来进行此案例研究的工具/技术:
OpenJDK 11
AWS EC2
AWS 云观察
Apache JMeter
测试场景
在这个环境中,我们进行了2个测试:
基线测试--在这个场景中,我们使用 JMeter 工具运行宠物诊所应用程序 20 分钟,但没有启用垃圾收集 (GC) 日志,有 200 个并发用户
GC 日志启用测试 -在此场景中,我们使用相同的 JMeter 脚本运行宠物诊所应用程序并启用垃圾收集 (GC) 日志 20 分钟,同时有 200 个并发用户。
注意:如果您不知道如何启用 GC 日志,请参阅这篇文章:'如何启用 GC 日志?'
检测结果
我们从 AWS Cloudwatch 获取平均 CPU 和内存利用率,从 JMeter 工具获取平均响应时间和吞吐量。从这两种情况收集的数据总结在下表中。
收集的数据 | 基线 测试 | 启用 GC 测试 |
平均 CPU 使用率 | 8.35% | 10.10% |
平均内存使用量 | 20.80% | 20.50% |
平均响应时间 | 3901 毫秒 | 3881 毫秒 |
平均吞吐量 | 24.4/秒 | 24.5/秒 |
如您所见,CPU 和内存消耗没有明显差异。同样,平均响应和事务吞吐量也没有明显差异。
感谢各位的阅读,以上就是"Java垃圾收集日志添加的开销分析"的内容了,经过本文的学习后,相信大家对Java垃圾收集日志添加的开销分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!