更新时间:2024-11-06 GMT+08:00
新建SQL限流规则
操作场景
SQL限流是指通过设置语句类型、关键字等匹配SQL语句,当所匹配的SQL语句超过设置的最大并发数时,数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。
可能引起SQL并发过高的场景有:
- 业务流量突增:出现缓存穿透、异常调用等情况,导致某类SQL并发数急剧上升。
- 慢查询堆积:未创建索引的SQL被大量调用,出现大量慢SQL,影响正常业务。
版本约束限制
SQL限流支持15.4、14.8、13.11、 12.15、11.20 及以上数据库引擎版本。
功能限制
- 内置用户(rdsAdmin、rdsMetric、rdsRepl、rdsBackup)的SQL语句不受限流规则影响。
- 使用SQL限流功能需要安装rds_pg_sql_ccl插件,该插件是RDS for PostgreSQL自研的内核限流插件,详见通过界面安装和卸载插件。
- 当SQL语句匹配多条限流规则时,优先生效最新添加的规则,之前的规则不再生效。
- 在添加SQL限流规则之前,已经开始执行的SQL语句,不会被记入并发数。
- 若复制时延过大,针对只读实例,新增或删除限流规则不会立刻生效。
- 系统表不受SQL限流的限制。
- 不涉及数据查询的SQL不受限流的限制,例如:select sleep(***);
- 暂不支持对存储过程、触发器、函数内的SQL做限流设置。
- 您可以在DAS执行如下SQL查看SQL限流规则的执行情况:select * from information_schema.rds_sql_filter_info;
- 当设置过多限流规则时,对性能有一定影响,使用后请删除多余的规则。
- SQL限流规则不支持约束系统库。
操作步骤
后续操作
如果不需要此条SQL限流规则,在操作列可以停用或删除规则。
图2 删除SQL限流
父主题: SQL分析