操作场景
GaussDB支持通过WDR快照查询指定时间内的Top SQL,从多个维度的资源监控、诊断SQL运行情况。
约束限制
Top SQL数据是从指定时间区间内,两个可用快照生成的性能报告中获取的,两次快照之间内不能有内核重置事件(节点重启、主备切换、DROP DATABASE等)。
查询期间,指定时间区间内至少要有两个可以对比的快照,才可能会有Top SQL的数据,默认一个小时生成一次快照。
查看Top SQL
步骤 1 登录管理控制台。
步骤 2 单击管理控制台左上角的 ,选择区域和项目。
步骤 3 在页面左上角单击 ,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
步骤 4 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
步骤 5 单击“诊断优化 > SQL诊断”。
步骤 6 在“Top SQL”页签,用户可按需选择指定节点,时间范围,组合过滤SQL文本、归一化SQL ID以及其他扩展字段,单击查询按钮,获取Top SQL列表。
用户可自行选择时间区间,最大时间跨度为一天,可按照节点维度展示数据。
过滤系统用户:开启后,将会跳过系统用户所执行的SQL记录。默认开启。
用户可以选择"OR"或者"AND"查询,筛选框中可以填入需要组合过滤的多个SQL文本(不超过5个)。
表 Top SQL字段说明
| 字段名称 | 描述 |
|---|---|
| 归一化SQL ID | 归一化SQL ID。 |
| 节点名称/ID | SQL执行节点的ID及名称。 |
| 用户名 | 执行SQL的用户。 |
| SQL 文本 | 归一化SQL文本。 |
| 调用频率占比 | 查询时间区间内某条SQL的调用次数占总调用次数的比例。 |
| CPU开销占比 | 查询时间区间内某条SQL的CPU开销占总CPU开销的比例。 |
| IO开销占比 | 查询时间区间内某条SQL的IO开销占IO总开销的比例。 |
| 调用次数 | 查询时间区间内某条SQL的调用次数。 |
| 返回元组数 | 查询时间区间内某条SQL的SELECT返回的结果集行数的差值。 |
| 读取元组数 | 查询时间区间内某条SQL的顺序扫描行的差值。 |
| 平均时间开销 | 查询时间区间内某条SQL的平均时间开销。单位:ms。 |
| 总时间开销 | 查询时间区间内某条SQL的总时间开销。 单位:ms。 |
| CPU开销 | 查询时间区间内某条SQL的CPU开销。 单位:ms。 |
| IO开销 | 查询时间区间内某条SQL的IO开销。 单位:ms。 |
| 最小执行时间 | 查询时间区间内某条SQL的最小执行时间。 单位:ms。 |
| 最大执行时间 | 查询时间区间内某条SQL的最大执行时间。 单位:ms。 |
| SQL命中率 | 查询时间区间内某条SQL命中率(命中行数/扫描行数)。 |
----结束
创建SQL PATCH
步骤 1 登录管理控制台。
步骤 2 单击管理控制台左上角的 ,选择区域和项目。
步骤 3 在页面左上角单击 ,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
步骤 4 在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
步骤 5 单击“诊断优化 > SQL诊断”。
步骤 6 在“Top SQL”页签,单击“操作”列的“SQL PATCH”,显示“SQL PATCH详情”页面。
如果没创建SQL PATCH,输入PATCH名称、PATCH内容,单击“创建”,则可创建SQL PATCH。
如果已创建SQL PATCH,则显示SQL PATCH信息。
− 状态:单击 ,可开启或关闭SQL PATCH。关闭SQL PATCH,状态显示未生效,开启SQL PATCH,状态显示生效中。
− 单击“删除”,则可删除SQL PATCH。
----结束