SQL 限流
更新时间:2023-08-21
概述
SmartDBA 提供 SQL 限流功能,您可以通过创建 SQL 限流任务,对 SQL 类型、最大并发数和 SQL 关键字等设置来控制数据库请求的访问量和并发量,从而达到访问的可用性和稳定性。我们为 SQL 限流提供丰富的管控能力,支持创建多条限流任务,各个限流任务不会发生冲突和影响。同时支持对 SQL 限流的查看、关闭、修改和删除功能。
注意事项
目前支持 RDS MySQL 5.7 版本,其他版本暂不支持。
操作步骤
创建 SQL 限流任务
- 登录云数据库 RDS 控制台。
- 在 RDS 控制台,选择一个 MySQL 双机高可用主实例,点击实例名称,进入实例详情。
- 在“云数据库 RDS 实例”详情页面,点击 SmartDBA ,展开模块信息。
- 点击 SQL 限流,点击创建任务按钮,创建SQL限流任务。
参数说明如下表所示:
参数 | 说明 |
---|---|
SQL 类型 | 包括SELECT、INSERT、UPDATE、DELETE |
最大并发数 | SQL 最大的并发数,当包含关键词的 SQL 达到最大并发数时会触发 SQL 限流策略。 允许设置的最小值是1 |
SQL 关键词 | 需要限流的 SQL 关键词,多个关键词以英文逗号“,”分割,最多256个字符 系统会自动拆分关键词,多个关键词之间的关系为“逻辑与”,不区分先后顺序 |
说明:
- 由于 SQL 关键词按照字符串匹配,且不区分关键词的顺序及是否指代库名表名,对于需要精确匹配的SQL,建议输入更多的关键字来实现精准限流。
- 当实例达到限流任务设置的最大并发数时,含有关键字且被匹配到的SQL将被拒绝执行,且返回如下错误:ER_EXCEED_SQL_FILTER(9001)。
- 创建 SQL 限流任务后并不是立即生效,需要对任务进行开启操作后生效。
开启、修改和删除 SQL 限流任务
- 查看在 SQL 限流任务列表。
- 可以对每个SQL限流任务进行开启、修改、删除和关闭操作。
具体操作:
操作类型 | 说明 |
---|---|
开启 | 点击开启按钮,弹出确认窗口,确认后SQL限流任务生效,且此时只能对该任务进行关闭操作,无法做其他操作 |
修改 | 点击修改按钮,弹出修改窗口,修改参数同 “创建SQL限流任务” |
删除 | 点击删除按钮,弹出确认窗口,确认后会对SQL限流任务进行删除。删除后任务不再生效和运行,列表中不会展示该任务 |
关闭 | 当 SQL 限流任务开启后,此时只能对该任务进行关闭操作 点击关闭按钮,弹出关闭确认窗口,确认后会对SQL操作进行关闭,此时可以对任务进行开启、修改和删除 |
批量开启和关闭任务
- 查看在 SQL 限流任务列表。
- 可以多选或者全选 SQL 限流任务。
- 在列表上方可以对任务进行批量开启和批量关闭操作。
操作类型 | 说明 |
---|---|
批量开启 | 点击批量开启按钮,弹出批量开启确认窗口,确认后该批次任务会立即生效 |
批量关闭 | 点击批量关闭按钮,弹出批量删除确认窗口,确认后该批次任务会立即关闭 |