文档

慢SQL治理

更新时间:

慢SQL影响系统稳定性。针对慢SQL,MSE数据库治理提供了SQL级别的洞察与防护,您可以根据SQL洞察能力为慢SQL配置流控降级规则保障系统的稳定性。本文介绍针对慢SQL如何设置SQL流量控制与保护。

背景信息

系统中出现慢SQL可能会导致CPU、负载异常和系统资源耗尽等情况。严重的慢SQL发生后可能会拖垮整个数据库,对线上业务产生阻断性的风险。线上生产环境出现慢SQL可能原因如下:

  • 网络速度慢、内存不足、I/O吞吐量小和磁盘空间被占满等硬件原因。

  • 没有索引或者索引失效。

  • 系统数据过多。

  • 在项目初期没有对SQL的性能做好考量。

使用限制

JDBC驱动支持的版本如下:

组件

支持驱动版本

MySQL JDBC

5.x/8.x

Oracle JDBC

12.x

操作步骤

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 在左侧导航栏,单击数据库治理,单击页面的SQL 详情页签可查看应用的QPS、RT和并发数据等情况。

  5. 接口概览页签,单击新增防护规则,然后在新增规则对话框中配置流控、隔离以及数据库读写分离等三种SQL防护规则。

    • 流控规则:为服务接口配置流控规则,让容量范围内的请求通过,多余的请求被拒绝,可以有效保证SQL请求访问的流量控制在系统容量的阈值内。详情请参见配置流控规则

      1. 新增规则对话框,单击接口流控

      2. 选择防护场景页面,确认接口名称,单击下一步

      3. 配置防护规则页面配置相关参数,然后单击下一步,最后单击新增

    • 隔离规则:当流量近似稳态时,并发线程数=QPS * RT(s),当RT升高,并发线程数升高,代表服务调用出现堆积。采用流量治理提供的服务并发隔离能力,给重要服务调用配置并发线程数限制,防止慢SQL或者不稳定的服务过多挤占正常服务资源。详情请参见配置隔离规则

      1. 新增规则对话框,单击并发隔离

      2. 选择防护场景页面,确认接口名称,单击下一步

      3. 配置防护规则页面配置相关参数,然后单击下一步,最后单击新增

    • 数据库读写分离规则。

      1. 新增规则对话框,单击数据库读写分离

      2. 配置相关参数,然后单击新建

        配置项

        说明

        接口类型

        选择接口类型为SQL。

        接口名称

        确认接口名称

        是否需要强一致性保证

        如果您对当前接口开启了强一致性保证,MSE会帮您异步校验数据库主从实例的同步状态,保证当前接口的读请求在主从状态一致条件下才会路由至只读实例。

        是否开启

        读写分离开关,优先级大于应用级别配置。

  • 本页导读 (1)
文档反馈