美文网首页
GC调优的关键指标

GC调优的关键指标

作者: 专职掏大粪 | 来源:发表于2020-08-21 17:15 被阅读0次

在调整应用程序的“内存和垃圾收集”设置时,应根据以下情况做出明智的决定:关键绩效指标。但是,报告的指标很多。选择哪一个,离开哪一个?本文旨在说明正确的KPI和合适的KPI来源。

什么是正确的KPI?

  • 吞吐
  • 延迟
  • 足迹

通量

吞吐量是您的应用程序在给定时间段内完成的生产工作量。这就带来了一个问题,什么是生产性工作?什么是非生产性工作?

生产性工作:这基本上是您的应用程序在处理客户交易中花费的时间。

非生产性工作: 这基本上是您的应用程序在整理工作(主要是垃圾收集)上花费的时间。

假设您的应用程序运行了60分钟。在这60分钟中,假设2分钟用于GC活动。

这意味着应用程序已在GC活动上花费了3.33%(即2/60 * 100)

这意味着应用程序吞吐量为96.67%(即100 – 3.33)。

现在的问题是:可接受的吞吐量百分比是多少?这取决于应用程序和业务需求。通常情况下,目标应该是超过95%的吞吐量。

延迟

这是一个垃圾收集事件运行所花费的时间。该指标应从三个方面进行研究。

平均GC时间:平均花费在GC上的时间是多少? 根据经验10~100ms吧
最大GC时间:一次GC事件最多要花费多少时间?您的应用程序可能具有服务级别协议,例如“任何事务都不能运行超过10秒”。在这种情况下,您的最大GC暂停时间无法运行10秒钟。因为在GC暂停期间,整个JVM都冻结了-不会处理任何客户交易。因此,了解最大GC暂停时间非常重要。
GC时间分布:您还应该了解在什么时间范围内完成了多少GC事件(即,在0 – 1秒内完成了200个GC事件,在1 – 2秒之间完成了10个GC事件…)

空间占用,基于成本的优化策略

占用空间基本上是CPU消耗的数量。根据您的GC算法,根据您的内存设置,CPU消耗会有所不同。一些GC算法将消耗更多的CPU(例如Parallel,CMS),而其他算法(例如Serial)将消耗更少的CPU。

根据内存调优Gurus,您一次只能选择2个。

  • 如果您想要良好的吞吐量和延迟,那么占用空间将会降低。
  • 如果您想要良好的吞吐量和占用空间,则延迟会降低。
  • 如果您想要良好的延迟和占用空间,那么吞吐量将会降低。

正确的工具

通过分析垃圾收集日志可以获取吞吐量和延迟。在http://gceasy.io/工具中上传应用程序的垃圾收集日志文件。该工具可以解析垃圾收集日志并为您生成吞吐量和延迟指标。以下是http://gceasy.io/工具的屏幕截图,显示了吞吐量和延迟:

image.png

其他,可以从监视工具(Nagios,NewRelic,AppDynamics等)获得足迹(即CPU消耗)。

参考自
https://blog.gceasy.io/2016/10/01/garbage-collection-kpi/

相关文章

  • GC调优的关键指标

    在调整应用程序的“内存和垃圾收集”设置时,应根据以下情况做出明智的决定:关键绩效指标。但是,报告的指标很多。选择哪...

  • JVM-GC调优

    零、本文纲要 一、 GC调优基本思路二、 新生代内存调优三、 老年代内存调优四、 GC调优案例 官方GC调优指南[...

  • Day15 JVM调优实战

    JVM调优 主要调这几个指标,GC停顿时间,吞吐量,FullGC次数。 当我们发现线上出现频繁的gc的时候,不能直...

  • Day16 JVM调优实战

    JVM调优 主要调这几个指标,GC停顿时间,吞吐量,FullGC次数。 当我们发现线上出现频繁的gc的时候,不能直...

  • 第二十九章、GC调优思路

    以G1 GC 为例,谈谈GC调优思路? 谈到调优,这一定是针对特定场景、特定目的的事情,对于GC调优来说,首先...

  • JVM调优-GC基本原理和调优关键分析

    1.写在前面 今天我们分享一下:垃圾回收算法,和调优的关键指标,等内容。 2.JVM的GC基本原理 2.1 什么是...

  • 深入理解java虚拟机5-如何设置jvm各分代的大小

    如何设置jvm各分代的大小? 1.吞吐量、延迟、内存占用这三个指标可以任意选择两个来作为调优目的,这是'GC调优的...

  • JVM性能调优的6大步骤,及关键调优参数详解

    JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC ...

  • Java架构师面试题——JVM性能调优

    JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC ...

  • JVM GC调优入门

    JVM GC调优入门 这篇文章会介绍几个常用的调优参数,再通过两个案例介绍如何进行JVM GC调优。阅读这篇文章的...

网友评论

      本文标题:GC调优的关键指标

      本文链接:https://www.haomeiwen.com/subject/tyfpjktx.html