配置自治限流
操作场景
自治限流是通过预先设置CPU阈值、可允许最大活跃连接数等前置条件,当相关条件满足时系统会对会话进行自动流控,在突发流量过高、异常读写等业务场景下保障核心业务的可用性。
前提条件
自治限流模块为付费的高级智能运维包功能,使用前请您先升级运维包。
- 在自治限流模块,单击“升级”,在弹框中,了解增值功能以及费用说明。
- 开启“收集慢SQL”和“收集全量SQL”开关后,对慢SQL和全量SQL进行多维度统计聚合,具体请参见查看实例慢SQL和查看实例TOP SQL。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏选择“智能DBA助手 > 历史诊断”。
- 选择“全量SQL > 自治限流”。
- 单击“自治限流”。
- 打开,开启自治限流开关,配置自治限流参数,参数说明请参见表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。
- 单击“确定”。
- 当触发数据库限流后,在自治限流页面生成一条限流记录。并且支持查看历史限流记录。
后续操作
自动流控后,可以结合业务情况判断是否需要Kill会话,具体请参见管理实时会话。