You need to enable JavaScript to run this app.
导航
SQL 限流管理
最近更新时间:2024.09.27 14:48:06首次发布时间: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 限流区域,开启 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 执行。

    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'等。
    • 如果未单击关键字生成和校验,将以整句为规则进行限流控制。
    • 关键词不允许有英文的逗号(,)、单引号(,)和分号(;)。
  7. 单击确定

查看 SQL 限流任务

  1. 登录 DBW 控制台

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

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

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

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

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

  5. SQL 限流区域,单击目标任务操作列的详情

  6. SQL 限流详情对话框,查看 SQL 限流任务的详细信息,包括以下信息:

    • 开始时间:即 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. 确定删除吗? 对话框,单击确定