zoukankan      html  css  js  c++  java
  • jvm优化规范

    一、上线前预估

    • 预估日活用户数量
    • 高峰时段、时长
    • 用户一次行为涉及到的接口,预估接口请求次数
      根据上面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 耗时告警

    本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14553125.html

  • 相关阅读:
    spring4-2-bean配置-2-属性注入细节
    内存管理tcmalloc
    并发视频,怎么hold住高并发
    struts总结
    最近想玩的一个方向
    虚拟化技术漫谈
    陈硕的博客
    木铎
    安全编程资源-苹果
    POOL
  • 原文地址:https://www.cnblogs.com/mushishi/p/14553125.html
Copyright © 2011-2022 走看看