tencent cloud

文档反馈

SQL 限流

最后更新时间:2022-08-15 15:47:55

    功能描述

    SQL 限流功能适用于流量过高引起的 CPU 消耗过大的场景。通过创建 SQL 限流任务,用户可自主设置 SQL 类型、最大并发数、限流时间、SQL 关键词,来控制数据库的请求访问量和 SQL 并发量,从而达到服务的可用性。
    说明:
    SQL 限流仅支持云数据库 MongoDB 4.0 版本,如需升级至此版本,请 提交工单
    SQL 限流中被拒绝语句的错误码显示为:SQL rejected by CDB_SQL_FILTER。

    创建 SQL 限流

    1. 登录 DBbrain 控制台,在左侧导航选择诊断优化,在上方选择对应数据库,然后选择实时会话,在该页面下方可查看 SQL 限流 模块。
    2. 创建限流任务。 需要先登录数据库,才可以发起 SQL 限流任务。
    SQL 类型:包含 find、insert、update、delete。
    最大并发数:SQL 最大并发数,当包含关键词的 SQL 达到最大并发数时会触发限流策略。如果该值设为0,则表示限制所有匹配的 SQL 执行。
    执行方式:支持定时关闭手动关闭
    限流时间:选择定时关闭时,需选择 SQL 限流的生效时间。
    SQL 关键词:需要限流的 SQL 关键词,当包含多个关键词时,需要以英文逗号分隔,逗号分隔的条件是逻辑与的关系,且逗号不能作为关键词。
    3. 查看 SQL 限流任务状态和详情。
    单击操作列的详情,可以查看 SQL 限流详情。
    限流任务开启后,若还在所设置的限流时间以内,列表中的状态为运行中,单击操作列的关闭,可以提前关闭限流任务,状态列将变为已终止
    限流任务开启后,若自动达到所设定的限流时间,列表中的状态将变为已终止
    单击操作列的删除,可以对状态为已终止已完成的限流任务进行删除。

    SQL 限流案例及效果

    数据库流量过高,导致实例 CPU 消耗过大。
    1. 通过控制台 mongotop 获取表级流量统计,从 mongotop 可以看出 test11 表流量过高,假设业务主要流量为 test.test10 表的读流量,test.test11 为异常流量。
    
    2. 随后开启 SQL 限流任务,对 test.test11表进行限流。
    3. 限流前后 CPU 性能趋势图如下,可看出限流后 CPU 消耗迅速下降。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持