更新时间:2023-03-28 GMT+08:00

全量SQL洞察

使用限制

全量SQL功能不能保证记录全部数据,针对PostgreSQL引擎,会有如下使用限制:

当前全量SQL受内存缓冲区限制,业务量大的场景下,全量SQL有较小概率因缓冲区满,存在丢弃部分记录(一般来说,qps大于1000或者CPU、内存等资源达到瓶颈会出现丢失部分记录)。

当前全量SQL单条记录超过4096字节时,会默认丢弃超过4096字节的sql语句。

全量SQL洞察仅支持以下内核版本的PostgreSQL实例:

  • 如大版本为14,小版本需 >= 14.4
  • 如大版本为13,小版本需 >= 13.6 (13.6>小版本>=13.2,通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)
  • 如大版本为12,小版本需 >= 12.10(12.10>小版本>=12.6,通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)
  • 如大版本为11,小版本需 >= 11.15(11.15>小版本>=11.11,通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)
  • 如大版本为10,小版本需 >= 10.20(10.20>小版本>=10.16,通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)
  • 如大版本为9.6,小版本需 >= 9.6.24(9.6.24>小版本>=9.6.21,通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)
  • 如大版本为9.5,小版本需 >= 9.6.25(部分9.5.25版本实例通过psql执行的sql能被采集到,但通过其他驱动如JDBC执行的sql可能不会被采集)

操作步骤

  1. 输入账号密码登录数据管理服务控制台。
  2. 在产品概览中单击“进入DBA智能运维”
  3. 选择所需实例,单击“详情”,进入DBA智能运维总览页面。
  4. 在SQL页签下选择“全量SQL洞察”,您可以查看当前实例的全量SQL详情。
  5. “全量SQL洞察”页签中,单击开启DAS收集全量SQL,可获取当前实例所执行过的SQL信息。

    单击“导出”可导出当前列表里显示的TOP SQL信息。此功能仅限付费实例使用,免费实例暂不支持导出功能。

  6. “TOP SQL”页签中,您可以根据需要设置时间段,选择“近1小时”“近3小时”“近6小时”,查看当前时间段下对应的近1小时、近3小时、近6小时间段内的TOP SQL执行耗时分布。也可以自己选择上述以外时间段进行查看,间隔不得超过一天。

    执行耗时分布展示了选定时间范围内所有SQL的执行耗时分布,共分为以下4个区间,根据用户选择的时间段来计算这4个区间内的SQL执行次数。如果用户选择1小时以内(包括1小时)的时间段,执行耗时分布每10秒计算一次。如果用户选择6小时以内(包括6小时)的时间段,执行耗时分布1分钟计算一次。如果用户选择大于6小时的时间段,执行耗时分布每5分钟计算一次。

    • <100ms是指执行耗时<100ms的SQL执行次数
    • 100ms-500ms是指100ms≤执行耗时<500ms的SQL执行次数
    • 500ms-1s是指500ms≤执行耗时<1s的SQL执行次数
    • >1s是指执行耗时>1s的SQL执行次数

  7. DAS支持查看实例级别和节点级别的执行耗时分布,当您选择“节点”时,默认显示主节点的执行耗时分布。如果您想查看其他节点的执行耗时分布,请点击切换节点按钮选择其他您想要查看的节点。
  8. 通过以下两种方式查看TOP SQL列表,获取这些SQL语句的执行耗时信息。例如平均执行耗时、总耗时、 平均锁等待耗时、平均扫描行数等。

    • 单击执行耗时分布图上的点,查看特定时间点的TOP SQL列表。
    • 在分布图上用鼠标选择一段时间查看该段时间的Top SQL。

  9. 单击操作栏的“详情”按钮,可以查看该执行SQL的详细执行信息。例如总执行次数、平均扫描行数、平均执行耗时等信息。