使用场景
SQL限流是指通过设置语句类型、关键字等匹配SQL语句,当所匹配的SQL语句超过设置的最大并发数时,数据库实例会拒绝执行此SQL。从而解决SQL并发数过高导致的实例不稳定问题。
可能引起SQL并发过高的场景有:
业务流量突增:出现缓存穿透、异常调用等情况,导致某类SQL并发数急剧上升。
慢查询堆积:未创建索引的SQL被大量调用,出现大量慢SQL,影响正常业务。
约束限制
仅MySQL8.0版本实例支持。
仅2025年8月之后新开通的实例才支持SQL限流功能。
仅支持设置最多100条限流规则。
一条规则最多支持1024字符的设置。
并发数限制,范围:[0~1000000]。说明:0表示拦截此语句(不执行)。
当恢复实例时,目标实例不会带上源实例的限流规则,需要重新设置。
只读实例的限流规则和主实例的一致,不允许单独设置只读实例的限流规则,但可以单独关闭只读实例的限流开关,即不限制。
操作步骤
创建限流规则
在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入概览页面。
在左侧导航栏,选择MySQL > 实例管理,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
在实例列表中,单击目标实例名称,进入实例基本信息页面。
单击左侧二级目录,选择SQL限流,首先点击设置限流开关,将其打开,打开后限流规则才会生效。
点击创建限流规则按钮,选择是要按照SQL语句限流还是库表维度进行限流。
设置最大并发数,范围:[0~1000000]。说明:0表示拦截此语句(不执行)。
点击确定即创建成功。
可以在操作中进行修改或者删除规则 。
SQL限流分析
点击该按钮将会跳转至DMS控制台,可享用DMS提供的sql限流服务,在sql限流页面创建任务即可。
DMS提供的SQL限流功能,可选择限流时间段,具体可参考界面进行设置。