更新时间:2025-12-15 GMT+08:00

使用TaurusDB配置自治限流

操作场景

在高并发的互联网应用中,当系统遭遇突发流量或异常读写时,可能会导致系统响应变慢,影响用户体验和业务连续性。为了解决上述问题,自治限流通过预先设置CPU阈值、可允许最大活跃连接数等前置条件,当相关条件满足时系统会对会话进行自动流控,从而在突发流量过高、异常读写等业务场景下保障核心业务的可用性。

当前仅支持对主节点设置自治限流,生效中的限流规则可以在SQL限流页面查看。

版本约束

TaurusDB内核版本2.0.69.250900及以上实例支持自动SQL限流功能。

内核版本的查询方法请参见如何查看云数据库 TaurusDB实例的版本号

约束限制

  • 只支持主节点设置自治限流,只读节点暂不支持。
  • 打开自治限流开关会同步开启SQL限流开关。
  • 自动生成SQL限流规则总数不会超过10条,总SQL限流条数限制100条。
  • 触发自治限流后生成的限流规则将在到期后自动删除,您也可以在SQL限流页面手动删除。如果修改自治限流配置或关闭自治限流功能,已生成的限流规则将自动被清理。
  • 限流规则对已有会话不会限制,仅限制新增会话,自治限流期间并发数仍可能增加。
  • 已存在相同关键字的限流规则时,不会自动生成新的限流规则。
  • 只会生成SELECT类型的限流规则。
  • 自治限流将根据非root账户的会话生成限流规则。
  • 备份恢复会清空SQL限流规则和自治限流配置。

操作步骤

  1. 登录TaurusDB管理控制台
  2. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例概览页面。
  3. 在左侧导航栏选择“智能DBA助手 > 历史诊断”。
  4. 选择全量SQL > 自治限流
  5. 单击“自治限流”。
  6. 打开,开启自治限流开关,配置自治限流参数,以自动限制在高负载情况下的SQL执行,防止系统过载。参数说明请参见表1

    示例:

    在限流时间窗15:00-20:00,检测实例指标“CPU利用率 >= 90%”且“活跃会话数 >=20”,且持续5分钟都处于该状态则触发自治限流。

    每次限流时间最大5分钟,在限流期间,如果CPU利用率、活跃会话数、持续时间的任一条件不再满足限流策略,将停止限流。

    图1 配置示例

    表1 自治限流参数

    参数

    说明

    限流时间窗

    选择合适的限流时间段。

    每次最大限流时长

    在限流时间窗内满足限流策略时,对主节点限流的最大时长,单位是分钟。

    超过设置的最大限流时长,会自动退出限流。如果触发条件无变化,则下次间隔1分钟后触发再次限流。

    范围:1~1440

    CPU利用率

    CPU利用率阈值用于判断实例的负载情况,当CPU利用率超过设定值(≥70%)时,结合与活跃会话数的关系(且、或)判断是否触发自治限流。

    活跃会话数

    活跃会话数条件用于判断实例的并发访问量,当活跃会话数超过设定值时,结合CPU利用率条件判断是否触发自治限流。

    范围:1~5000。

    持续时间(分钟)

    设置持续时间以确保在满足CPU利用率和活跃会话数条件后,经过一定时间的观察期再触发自治限流。可以自定义事件持续时间,支持2~60分钟。

    最大并发数

    最大并发数用于限制与关键字匹配的SQL语句的并发执行数量,当并发数超过设定值时,超出的SQL语句将被拒绝执行。

    范围:1~1000000000。

    SQL限流规则

    如需保留已有的SQL限流规则,请勾选保留SQL限流规则。

  7. 单击“确定”。
  8. 当触发自治限流后,自治限流将自动生成SQL限流规则,您可以在SQL限流页面查看生效中的限流规则。