操作场景
自治限流是通过预先设置CPU阈值、可允许最大活跃连接数等前置条件,当相关条件满足时系统会对会话进行自动流控,在突发流量过高、异常读写等业务场景下保障核心业务的可用性。
前提条件
首次使用自治限流模块,请先升级高级智能运维包。
1. 在自治限流模块,单击“升级”,在弹框中,了解增值功能以及费用说明。
2. (可选)开启“收集慢SQL”和“收集全量SQL”开关后,对慢SQL和全量SQL进行多维度统计聚合,具体请参见查看实例慢SQL和查看实例TOP SQL。
操作步骤
步骤 1 登录管理控制台。
步骤 2 单击管理控制台左上角的 ,选择区域。
步骤 3 选择“数据库 > 关系型数据库”。进入关系型数据库信息页面。
步骤 4 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
步骤 5 在左侧导航栏选择“智能DBA助手 > 历史诊断”。
步骤 6 选择“全量SQL > 自治限流”。
步骤 7 单击“自治限流”。
步骤 8 打开 ,开启自治限流开关,配置自治限流参数,参数说明请参见下表。
自治限流配置示例:
在限流时间窗15:00-18:00,检测实例指标“CPU利用率 >= 90%”和“活跃会话数 >=20”,且持续5分钟都处于该状态则触发自治限流。每次限流时间最大5分钟,在限流期间,如果CPU利用率或活跃会话数不再满足限流策略,限流将退出。
表 自治限流参数
参数项 | 说明 |
---|---|
数据库名 | 指定需要限流的数据库名称。指定后需要执行use <database>语句,会话才会被限流。 不填数据库名默认对全部数据库限流。 |
用户名 | 指定需要限流的用户名。 |
限流时间窗 | 选择限流时间段,限流时间段内仅触发一次自治限流。 |
每次最大限流时长 | 在限流时间窗内满足限流策略时,对数据库限流的最大时长。 |
CPU利用率 | 填写实例的CPU利用率阈值(≥70%),并选择与“活跃会话数”的关系。二者关系为“且”或者“或”。 |
活跃会话数 | 输入活跃会话数条件阈值,范围为1~5000。 |
持续时间(分钟) | 满足CPU利用率和活跃会话数条件的会话持续一定时间后触发自治限流。可以自定义事件持续时间,支持2~60分钟。 例如:实例的CPU利用率在90%以上并且活跃会话数在1000以上,该事件持续30分钟才会触发自治限流。 |
允许限流的最大活跃连接数 | 触发限流规则后,当连接数下降到该配置项的值,会停止限流。取值范围为1~5000。 |
步骤 9 单击“确定”。
步骤 10 当触发数据库限流后,在自治限流页面生成一条限流记录。并且支持查看历史限流记录。
----结束
后续操作
自动流控后,可以结合业务情况判断是否需要Kill会话,具体请参见管理实时会话。