更新时间:2024-10-14 GMT+08:00

配置自治限流

操作场景

自治限流是通过预先设置CPU阈值、可允许最大活跃连接数等前置条件,当相关条件满足时系统会对会话进行自动流控,在突发流量过高、异常读写等业务场景下保障核心业务的可用性。

前提条件

自治限流模块为付费的高级智能运维包功能,使用前请您先升级运维包。

  1. 在自治限流模块,单击“升级”,在弹框中,了解增值功能以及费用说明。
  2. 开启“收集慢SQL”和“收集全量SQL”开关后,对慢SQL和全量SQL进行多维度统计聚合,具体请参见查看实例慢SQL查看实例TOP SQL
图1 升级高级智能运维包

操作步骤

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  4. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  5. 在左侧导航栏选择“智能DBA助手 > 历史诊断”。
  6. 选择“全量SQL > 自治限流”。
  7. 单击“自治限流”。
  8. 打开,开启自治限流开关,配置自治限流参数,参数说明请参见表1

    图2 配置示例

    自治限流配置示例:

    在限流时间窗15:00-18:00,检测实例指标“CPU利用率 >= 90%”和“活跃会话数 >=20”,且持续5分钟都处于该状态则触发自治限流。每次限流时间最大5分钟,在限流期间,如果CPU利用率或活跃会话数不再满足限流策略,限流将退出。

    表1 自治限流参数

    参数

    说明

    数据库名

    指定需要限流的数据库名称。指定后需要执行use <database>语句,会话才会被限流。

    不填数据库名默认对全部数据库限流。

    用户名

    指定需要限流的用户名。

    限流时间窗

    选择限流时间段,限流时间段内仅触发一次自治限流。

    每次最大限流时长

    在限流时间窗内满足限流策略时,对数据库限流的最大时长。

    CPU利用率

    填写实例的CPU利用率阈值(≥70%),并选择与“活跃会话数”的关系。二者关系为“且”或者“或”。

    活跃会话数

    输入活跃会话数条件阈值,范围为1~5000。

    持续时间(分钟)

    满足CPU利用率和活跃会话数条件的会话持续一定时间后触发自治限流。可以自定义事件持续时间,支持2~60分钟。

    例如:实例的CPU利用率在90%以上并且活跃会话数在1000以上,该事件持续30分钟才会触发自治限流。

    允许限流的最大活跃连接数

    触发限流规则后,当连接数下降到该配置项的值,会停止限流。取值范围为1~5000。

  9. 单击“确定”。
  10. 当触发数据库限流后,在自治限流页面生成一条限流记录。并且支持查看历史限流记录。

后续操作

自动流控后,可以结合业务情况判断是否需要Kill会话,具体请参见管理实时会话