在实例开启DAS收集全量SQL的前提下,该模块基于全量SQL数据进行分析,并提供多维度的分析、搜索、过滤的能力,帮助用户全面洞察SQL,TOP SQL快速定位异常原因,保障数据库稳定运行。
全量SQL洞察功能在对实例性能影响极小(5%以内)的情况下,记录了全量SQL,提供了访问最频繁、更新最频繁的表,锁等待时间最长的SQL等多维度的分析、搜索、过滤能力。
使用须知
- 关闭DAS收集全量SQL后,DAS将不再采集您新产生的SQL,已经收集的SQL也会被删除,请您谨慎操作。
- 免费实例的全量SQL日志仅保留1个小时,付费实例默认保留7天,最长可保存30天,到期后自动删除。
- 全量SQL功能不能保证记录全部数据,针对RDS for PostgreSQL会有如下使用限制:
当前全量SQL受内存缓冲区限制,业务量大的场景下,全量SQL有较小概率因缓冲区满,存在丢弃部分记录(一般来说,qps大于1000或者CPU、内存等资源达到瓶颈会出现丢失部分记录)。
当前全量SQL单条记录超过4096字节时,会默认丢弃超过4096字节的SQL。
全量SQL洞察仅支持以下内核版本的RDS for 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可能不会被采集)
TOP SQL执行耗时分布
1、登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
在左侧的导航栏中单击“DBA智能运维 > 实例列表”页签,进入DBA智能运维实例列表页面。
在实例列表页面右上角,按照引擎、实例名称或者实例IP筛选实例。
选择目标实例,单击“详情”,进入DBA智能运维总览页面。
单击“全量SQL洞察”,进入全量SQL洞察页面。
单击“开启DAS收集全量SQL”,可获取当前实例所执行过的SQL信息。
说明DAS收集全量SQL功能开启后立即生效。
在“TOP SQL”页签中,查看TOP SQL执行耗时分布情况。
您可以根据需要设置时间段,选择“近1小时”、“近3小时”、“近6小时”,查看当前时间段内的TOP SQL执行耗时分布。也可以选择上述以外时间段进行查看,间隔不得超过一天。
执行耗时分布展示了选定时间范围内所有SQL的执行耗时分布,共分为以下4个区间。
- <100ms:执行耗时<100ms的SQL执行次数
- 100ms-500ms:100ms≤执行耗时<500ms的SQL执行次数
- 500ms-1s:500ms≤执行耗时<1s的SQL执行次数
-
1s:执行耗时>1s的SQL执行次数
上述4个区间内的SQL执行次数是根据用户选择的时间段来计算的。
- 如果用户选择1小时以内(包括1小时)的时间段,执行耗时分布每10秒计算一次。
- 如果用户选择6小时以内(包括6小时)的时间段,执行耗时分布1分钟计算一次。
- 如果用户选择大于6小时的时间段,执行耗时分布每5分钟计算一次。
DAS支持查看实例级别和节点级别的执行耗时分布,当您选择“节点”时,默认显示主节点的执行耗时分布。如果您想查看其他节点的执行耗时分布,请单击切换节点按钮选择其他您想要查看的节点。
查看TOP SQL列表,获取执行耗时信息。例如平均执行耗时、总耗时、 平均锁等待耗时、平均扫描行数等。
- 单击执行耗时分布图上的某个点,查看该时间点的TOP SQL列表。
- 在执行耗时分布图上用鼠标选择一段时间,查看该段时间的Top SQL列表。
- 单击“导出”可导出当前列表里显示的TOP SQL信息。此功能仅限付费实例使用,免费实例暂不支持导出功能。
- 单击操作栏的“详情”按钮,可以查看该执行SQL的详细执行信息。例如总执行次数、平均扫描行数、平均执行耗时等信息。
SQL审计
1、登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
在产品概览中单击“进入DBA智能运维”。
选择目标实例,单击“详情”,进入DBA智能运维总览页面。
单击“全量SQL洞察”,进入全量SQL洞察页面。
单击SQL审计页签。
在“SQL审计”页签中,查看SQL审计任务。
- 您可以通过选择数据起止时间、任务创建时间、节点等查询条件获取当前实例SQL审计任务。
- 单击“新增SQL审计任务”按钮,可自选时间范围添加SQL审计任务。DAS支持添加实例级别和节点级别的SQL审计任务,您可根据业务需求自行选择添加。添加完成的SQL审计任务会显示在下方列表栏。
- 单击操作栏的“查看详情”,可查看SQL审计详情。您可以通过选择时间范围、用户、关键字、数据库等SQL查询条件单击“查询”,获取当前实例所执行过的SQL信息。选择时间范围时不可以超出新增SQL审计时的时间范围。