You need to enable JavaScript to run this app.
导航
SQL 限流管理
最近更新时间:2024.10.22 17:13:33首次发布时间:2023.07.10 15:16:48

数据库工作台 DBW 提供 SQL 限流功能。您可以通过该功能控制数据库的请求访问量和 SQL 并发量,从而保障服务的可用性。本文介绍如何在 DBW 控制台管理 SQL 限流任务,例如开启 SQL 限流功能、创建或删除 SQL 限流任务等。

前提条件

已创建云数据库 MySQL 版实例和账号。详细操作,请参见创建实例账号

注意事项

  • 仅开启数据库代理功能的实例支持使用 SQL 限流功能,系统默认开启实例的数据库代理功能,如果您需要关闭 MySQL 实例的代理,请参见开启数据库代理

  • SQL 限流是应急措施,建议您在完成限流后及时关闭限流任务。

  • 最多支持创建 128 条 SQL 限流任务。

  • 删除 SQL 限流任务后,将立即关闭并删除所选的限流任务。请谨慎操作。

创建 SQL 限流任务

  1. 登录 DBW 控制台

  2. 在左侧导航栏,选择运维管理 > 观测诊断

  3. 在顶部菜单栏,选择项目和地域。

  4. 会话管理页签,单击 SQL 限流

    会话管理页签左上方,可以切换目标实例。

  5. SQL 限流区域,单击创建任务

  6. SQL 限流任务对话框,设置以下参数信息。

    参数说明
    SQL 类型从下拉列表中选择需要限流的 SQL 类型,取值包括 SELECTUPDATEDELETEINSERT REPLACE

    限流时长

    按需设置限流任务的生效时长,取值范围为 [1, 99999],单位为:min。

    说明

    在任务达到限流时长后,将自动关闭限流任务,也支持手动提前关闭。

    最大并发数设置 SQL 限流任务的最大并发数,表示同时执行的 SQL 语句达到最大并发数时将触发 SQL 限流。如果 SQL 限流设置为 0 时,表示限制所选 SQL 类型的所有 SQL 执行。取值范围为 [1, 99999]。

    SQL 关键词

    按需设置需要限流的 SQL 关键词,然后单击关键字生成和校验,系统将自动拆分关键词,并以 ~ 为分隔符。例如源 SQL 语句为 select * from test where name = das,则拆分后的限流关键词为 select~from~test~where~name~das,表示 selectfromtestwherenamedas 为该并发控制所包含的六个关键字,~ 为关键字间隔符,也就是说如果执行 SQL 语句中包含 selectfromtestwherenamedas 六个关键字,那么命中此条并发控制规则。

    说明

    • 关键词是有序匹配 SQL 语句的,例如 select * from test where a > 1 and b > 1 只会匹配到 ******* select ~ from ~test ~ where ~ a ~ b,不会匹配到 ******* select * from test where b > 1 and a > 1
    • 关键字首尾的空白等字符均会被忽略,包括' '、'\n'、'\r'、'\t'等。
    • 如果未单击关键字生成和校验,将以整句为规则进行限流控制。
    • 关键词不允许有英文的逗号(,)、单引号(,)和分号(;)。
    • 关键字最多不能超过 512 个字符。
  7. 单击确定

查看 SQL 限流任务

  1. 登录 DBW 控制台

  2. 在左侧导航栏,选择运维管理 > 观测诊断

  3. 在顶部菜单栏,选择项目和地域。

  4. 会话管理页签,单击 SQL 限流

    1. 会话管理页签左上方,可以切换目标实例。

    2. SQL 限流区域,在 SQL 限流区域,您可以查看 SQL 限流任务的任务类型SQL 类型SQL 关键词开始时间剩余时间结束时间拒绝数最大并发数等。

启用/关闭 SQL 限流任务

  1. 登录 DBW 控制台

  2. 在左侧导航栏,选择运维管理 > 观测诊断

  3. 在顶部菜单栏,选择项目和地域。

  4. 会话管理页签,单击 SQL 限流

    会话管理页签左上方,可以切换目标实例。

  5. SQL 限流区域,单击目标任务操作列的启用关闭,启用或关闭目标任务。

删除 SQL 限流任务

说明

删除后,将立即关闭并删除所选的限流任务,请谨慎操作。

  1. 登录 DBW 控制台

  2. 在左侧导航栏,选择运维管理 > 观测诊断

  3. 在顶部菜单栏,选择项目和地域。

  4. 会话管理页签,单击 SQL 限流

    会话管理页签左上方,可以切换目标实例。

  5. SQL 限流区域,在目标 SQL 限流任务的操作列,选择 ... > 删除

  6. 确定删除吗? 对话框,单击确定