更新时间:2024-12-31 GMT+08:00
新建SQL限流规则
操作场景
SQL限流是指设置原始SQL语句或者Query ID,当所匹配的SQL语句超过设置的最大并发数时,数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。使用华为云自研插件rds_pg_sql_ccl可以实现RDS for PostgreSQL的SQL限流能力。
主要的使用场景有:
- 业务量突增:通过限制某类SQL的执行保障实例的稳定性。
- 保障核心任务:通过限制其他SQL的执行从而降低资源的消耗保障核心任务的顺利完成。
版本限制
SQL限流支持的版本如下:
- RDS for PostgreSQL 15版本,对应的小版本为15.4及以上版本。
- RDS for PostgreSQL 14版本,对应的小版本为14.8及以上版本。
- RDS for PostgreSQL 13版本,对应的小版本为13.11及以上版本。
- RDS for PostgreSQL 12版本,对应的小版本为12.15及以上版本。
- RDS for PostgreSQL 11版本,对应的小版本为11.20及以上版本。
功能限制
- 内置用户(rdsAdmin、rdsMetric、rdsRepl、rdsBackup)的SQL语句不受限流规则影响。
- 使用SQL限流功能需要安装rds_pg_sql_ccl插件,该插件是RDS for PostgreSQL自研的内核限流插件,详见通过界面安装和卸载插件。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域。
- 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
- 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏选择“智能DBA助手 > 历史诊断”。
- 选择“全量SQL > SQL限流”。
- 打开,开启SQL限流开关。
SQL限流开关打开后,限流规则才能生效。
- 单击“新建SQL限流规则”,配置SQL限流规则参数,参数说明请参见表1。
请根据业务和资源使用的实际情况合理配置SQL限流规则,否则可能会影响业务。
图1 新建SQL限流规则
- 确认无误后,单击“确定”。
- SQL限流规则创建后不会立刻生效,单击“启用”使规则生效。
后续操作
如果不需要此条SQL限流规则,在操作列可以停用或删除规则。
- 单击“停用”,即可停用限流规则。
- 单击“删除”,即可删除限流规则,删除启用状态下的限流规则,该规则不会继续生效。
图2 删除SQL限流