news 2026/6/15 17:28:52

GaussDB数据库中SQL诊断解析之配置SQL限流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GaussDB数据库中SQL诊断解析之配置SQL限流

配置SQL限流

GaussDB提供SQL限流功能,当存在异常SQL(如存在不优索引)、SQL并发量上升时,通过SQL限流功能控制异常SQL的访问量或者并发量,保障服务的可用性。

前提条件

登录账号需要具备授权项“gaussdb:instance:listFlowlimit”、“gaussdb:instance:flowlimitAddOrUpdate”、“gaussdb:instance:createFlowLimit”、“gaussdb:instance:updateFlowLimit”、“gaussdb:instance:deleteFlowLimit”、“gaussdb:instance:getFlowLimitInfo”、“gaussdb:instance:getFlowLimitTemplate”、“gaussdb:instance:listFlowLimitInfo”、"gaussdb:instance:syncFlowLimit"和“gaussdb:instance:flowlimitDelete”。

约束限制

GaussDB实例的数据库引擎版本需要大于等于V2.0-8.0.1,内核版本大于等于505.0.0。
分布式不支持自治限流任务。

  • 分布式实例不支持SQLID类型的限流。
  • 不支持对系统级别用户(例如root等)进行SQL限流。
  • 当前不支持批量删除SQL限流任务。
  • 每个实例最多支持1000条限流任务。
  • 对于关键词限流任务,一个关键词中包含英文逗号视作以逗号分割的两个关键词,作用时不区分关键词前后顺序。
  • 用户通过系统级别用户(例如root等)进行后台SQL限流的增删改,会导致实际限流任务情况与前端不一致。
  • 限流规则匹配会消耗CPU性能,建议同一个实例里不要创建大量限流规则。
  • 新添加SQL限流规则之前已经开始执行的SQL语句不会被计入并发数。
  • 容灾场景下,主实例上的限流规则会自动同步到备实例,容灾升主后暂时不支持限流规则的增删改查,切回原实例后可继续管理限流任务。
  • 备份恢复到新实例、容灾场景切回原实例,如果出现数据丢失的情况,请参考故障处理。
  • 实例异常和规格变更期间允许创建、修改、查看限流规则,但可能会失败,如果出现失败或异常可
  • 以通过删除限流规则处理,删除前请确保数据库正常。
  • 驱动建立数据库连接涉及的SQL语句(如:select setting from pg_settings where name=‘delimiter_name’)被限流会导致无法新建连接,不允许该类SQL的限流操作。
  • 实例节点在创建、重启过程中(比如扩副本、扩分片),可能会因为节点无法连接导致SQL限流任务详情查询异常。
  • 灰度升级期间或容灾升主后双主场景下原备实例的限流创建、修改、删除限流规则会触发任务流校验,返回“当前实例正在有其他操作”的错误信息,而限流任务一直显示创建中、修改中或删除中,可
  • 以通过单击“数据同步”恢复数据的正常。
  • 内核如果抛出报错信息,如ERROR: The workload rule takes effect and this request will be cancelled. rule_id: x, rule_name: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中rule_name对应Console控制台“限流任务ID”,对应审计日志task id。
  • 当多个限流任务规则同时生效于同一条SQL语句,存在生效优先级:
  • 并发数/最大活跃会话数的数量越小优先级越高。
  • 并发数/最大活跃会话数相同时,优先级:自治限流任务>SQLID类型>关键词类型。
  • 并发数/最大活跃会话数相同且限流类型一致时,后创建的限流任务优先拦截。
  • 避免创建同名表。如果不同Database或不同SCHEMA下存在同名表,创建该表相关的SQLID限流任务时,限流规则可能不生效。

创建限流任务

登录管理控制台。

单击管理控制台左上角的,选择区域和项目。
在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
选择“诊断优化 > SQL诊断 > SQL限流”。
选择“SQL限流任务”或“自治限流任务”,单击“创建任务”,填写限流信息,具体参数填写请参考表1。
创建SQL限流任务

图1 创建SQL限流任务



数据同步

登录管理控制台。

单击管理控制台左上角的,选择区域和项目。
在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
选择“诊断优化 > SQL诊断 > SQL限流”。
单击“数据同步”。
弹框中单击“确定”可以进行备份原实例后的数据同步。
图5 数据同步

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:34:00

交通仿真软件:Aimsun_(7).信号控制与优化

信号控制与优化 1. 信号控制的基本概念 信号控制是交通仿真中一个重要的组成部分,它通过控制交通信号灯的切换时间来优化交通流量。在Aimsun中,信号控制可以通过多种方式实现,包括固定时间信号控制、自适应信号控制和基于优化模型的信号控制。…

作者头像 李华
网站建设 2026/6/15 13:56:45

揭秘 Spring Boot 事务:动态增强的底层实现与核心组件

在分布式系统和复杂业务场景中,事务管理是保障数据一致性的核心技术之一。Spring Boot 提供的声明式事务机制,通过 “动态” 方式简化了事务配置,让开发者无需手动编写事务控制代码,仅通过简单注解即可实现事务管理。本文将从 “问…

作者头像 李华
网站建设 2026/6/15 13:26:49

ES在SpringBoot集成使用

1. 在Docker中安装Elasticsearch 这里不了解docker甚至还没安装虚拟机的小伙伴可以去黑马的视频下找到资源,去下一个虚拟机 这里就不对ES进行过多介绍了,具体的效果去b站看看叭,这里直接速成使用 安装ES并启动 docker pull elasticsearch &l…

作者头像 李华
网站建设 2026/6/15 12:36:20

基于微信小程序的新鲜到家生鲜超市销售系统(毕设源码+文档)

课题说明本课题聚焦基于微信小程序的新鲜到家生鲜超市销售系统的设计与实现,核心目标是解决传统生鲜超市销售中线下客流有限、商品展示不全面、订单处理效率低、配送调度混乱、生鲜保鲜追溯难及用户购物体验差等痛点问题。系统深度依托微信小程序生态优势&#xff0…

作者头像 李华
网站建设 2026/6/15 14:23:29

Docker部署Spring Boot + Vue项目

目录 前提条件 概述 下载代码 打开代码 Docker创建网络 MySQL容器准备 MySQL数据库配置 启动MySQL容器 测试连接MySQL 初始化MySQL数据 Redis容器准备 修改Redis配置 启动redis容器 部署后端 后端代码打包 上传jar包到Linux 创建Dockerfile 构建镜像 运行后…

作者头像 李华
网站建设 2026/6/15 14:32:39

docker网络模式及配置

一、Docker网络模式 docker run 创建docker容器时,可以用-net选项指定容器的网络模式,docker有以下4种网络模式: host 模式,使用-nethost指定。container模式,使用-netcontainer:NAME_or_ID指定。none模式&#xff0…

作者头像 李华