
# 配置自治限流
#### 操作场景
自治限流是通过预先设置CPU阈值、可允许最大活跃连接数等前置条件，当相关条件满足时系统会对会话进行自动流控，在突发流量过高、异常读写等业务场景下保障核心业务的可用性。
#### 前提条件
首次使用自治限流模块，请先升级高级版智能DBA助手。
1. 在自治限流模块，单击"升级高级版"，在弹框中，了解增值功能以及费用说明。
2. （可选）开启"收集慢SQL"和"收集全量SQL"开关后，对慢SQL和全量SQL进行多维度统计聚合，具体请参见[查看实例慢SQL](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0030.html)和[查看实例TOP SQL](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0031.html)。
   图1升级高级版智能DBA助手   
   ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002736652173.png "点击放大") 
 
#### 操作步骤
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
3. 在"实例管理"页面，选择目标实例，单击实例名称，进入实例的"概览"页签。
4. 在左侧导航栏选择"智能DBA助手"下的"SQL分析与优化"，选择"自治限流"页签。
5. 单击"自治限流"。
6. 打开![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002247141961.png)，开启自治限流开关，配置自治限流参数，参数说明请参见[表1]。
   
   图2配置示例   
   ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002247222077.png "点击放大")
   **自治限流配置示例：**
   在限流时间窗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。                                                                                                 |
      
   
   
7. 单击"确定"。
8. 当触发数据库限流后，在自治限流页面生成一条限流记录。并且支持查看历史限流记录。
 
#### 后续操作
自动流控后，可以结合业务情况判断是否需要Kill会话，具体请参见[管理实时会话](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0026.html)。
可以通过设置参数值终止事务，具体请参见[主动终止空闲事务](https://support.huaweicloud.com/kerneldesc-rds-mysql/rds_07_0000.html)。
#### 常见问题
- [RDS for MySQL CPU过载定位及处理建议](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_00005.html)
- [RDS for MySQL内存过载定位及处理建议](https://support.huaweicloud.com/usermanual-rds-mysql/rds_03_0097.html)

- [RDS for MySQL慢SQL问题处理](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_00009.html)
 
