一、上线前预估

  • 预估日活用户数量
  • 高峰时段、时长
  • 用户一次行为涉及到的接口,预估接口请求次数
    根据上面3个指标 算出接口预计的 qps, 适当扩大 10 ~ 20倍
  • 接口耗时
  • 接口执行过程中创建的对象总大小, 适当扩大 10~20倍
    前面算出的 qps * 创建对象总大小 => 每秒内存占用
    再根据接口耗时 * qps * 创建对象总大小 => 算出 发生gc时候 存活对象有多少

现在,就能知道 大概多久会塞满 eden区,发生一次 minor gc ,而后存活对象有多少
合理设置下 jvm堆的比例

二、压测

实际模拟用户行为进行压测,对前面设置的 jvm 做检验
根据压测情况,判断之前的预估是否准确
分析 gc 日志 :看minor gc多久发生一次 耗时是多少, 每次 minor gc后有多少对象晋升到老年代 ,full gc多久发生一次 耗时多久,是否太频繁

三、线上监控

  • jvm堆各区域的水位情况
  • gc监控

四、告警配置

人不可能一直盯着大盘看,配置告警策略,当有异常的时候自动即时告警

重点关注

  • minor gc 耗时告警
  • full gc 频率告警
  • full gc 耗时告警

相关文章:

  • 2021-05-26
  • 2021-07-15
  • 2021-04-08
  • 2021-05-20
  • 2021-10-22
  • 2021-11-26
  • 2021-08-10
猜你喜欢
  • 2022-02-17
  • 2021-11-14
  • 2021-04-21
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案