服务稳定性和性能告警配置

服务的不稳定可能表现在以下方面:

  • 服务突然异常卡顿。
  • 服务无法访问。
  • 页面一直转圈。

归根结底,这些表象可归为两类问题:

  • 资源瓶颈
  • 性能瓶颈

针对这两类问题,您可以借助 Erda 的告警功能防患于未然,并借助其监控功能进行问题排查。

资源瓶颈

您可以配置容器资源使用的告警策略。一旦资源水位达到阈值即可触发告警,方便及时处理。 服务稳定性和性能告警配置 - 图1 目前内置的资源告警配置包含以下选项:

  • 应用实例 CPU 使用异常
    • 默认:当 CPU 使用率在持续一分钟内平均值大于等于 90% 时触发告警。
    • 建议:可将触发阈值修改为 70~80%,为处理人员预留缓冲时间。
  • 应用实例内存使用率异常
    • 默认:当内存使用率在持续一分钟内平均值大于等于 90% 时触发告警。
    • 建议:可将触发阈值修改为 70~80%,为处理人员预留缓冲时间。
  • 应用实例 OOM
    • 默认:当出现 OOM 时,将触发 OOMKilled,此时触发告警。
  • 应用 JVM GC 次数
    • 默认:三分钟内触发 GC 次数大于 5 时触发告警。
  • 应用 JVM GC 耗时
    • 默认:GC 耗时的最大值大于等于 400ms,或 GC 总和大于等于 1s 时触发告警。
  • 应用 JVM 堆内存
    • 默认:当 JVM 堆内存使用率在持续一分钟内平均值大于等于 75% 时触发告警。
  • 应用 NodeJS 堆内存使用率
    • 默认:当 NodeJS 堆内存使用率在持续一分钟内平均值大于等于 75% 时触发告警。

性能瓶颈

如出现性能问题,某种程度上这是种积极的表现,至少说明用户量有所增加。而此时要做的便是让服务可以承受更多用户的并发访问,具体请参见 性能压测大盘,排查各类慢请求、慢 SQL,从而解决性能问题。