系统规则从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,结合自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,保证系统在最大吞吐量状态下稳定运行。

前提条件

将应用接入 AHAS 应用流控降级,具体操作请参见接入应用概述

背景信息

系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量,例如 Web 服务或 Dubbo 服务端接收的请求。通过自定义埋点接入通过注解接入的应用,入口流量为 EntryType 为 EntryType.IN 的逻辑被调用时产生的流量。系统规则支持以下的模式:

  • Load(仅对 Linux/Unix-like 机器生效):当系统 Load1 超过阈值且系统当前的并发线程数超过系统容量时才会触发系统保护。
  • CPU 使用率:当系统 CPU 使用率超过阈值(0.0~1.0)即触发系统保护。
  • RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护。
  • 线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
  • 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。

对于一个应用来说,每种相同的系统保护规则最多只能存在一条,即一个应用最多配置四个系统保护规则。

新建系统规则

  1. 登录 AHAS 控制台
  2. 在 AHAS 控制台左上角,选择应用接入的地域
  3. 在控制台左侧导航栏中选择流控降级 > 应用流控降级
  4. 应用列表页面单击目标应用卡片。
  5. 在左侧导航栏单击系统规则,在系统规则页面右上角单击新建系统保护规则
  6. 新建系统保护规则对话框中,配置规则信息。
    图 1. 新增系统保护规则
    新增系统保护规则
    • CPU 使用率:当系统 CPU 使用率超过阈值即触发系统保护,阈值设置范围为 0.0~1.0(代表 0%~100%)。
    • Load :当系统的 Load1 超过阈值,且系统当前的并发线程数超过系统容量时才会触发系统保护。系统容量由系统的 maxQps * minRt 计算得出。
    • RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
    • 线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
    • 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
    • 是否开启:打开表示启用该规则,关闭表示禁用该规则。
  7. 单击新增

管理系统规则

系统规则页面,您可以启用、禁用、编辑或删除系统规则。

  • 单系统规则启用/禁用:

    系统规则页面,找到目标应用下对应的系统规则,单击状态栏的启用开关,可快速启用或禁用该规则。

  • 多个系统规则批量启用/禁用:

    系统规则页面,勾选多个系统规则,单击批量启用批量禁用,可快速启用或禁用多个规则。

  • 编辑规则:

    系统规则页面,找到目标应用下对应的系统规则,单击操作栏的编辑,可修改该规则的阈值。阈值类型不允许更改。

  • 删除规则:

    系统规则页面,找到目标资源下对应的系统规则,单击操作栏的删除