一文解读GaussDB(DWS)监控运维诊断优化能力

原创
11/13 09:48
阅读数 222
AI总结
摘要:帮助开发者分析执行计划,分析SQL语句执行性能消耗,提升租户侧自运维能力。
本文分享自华为云社区 《GaussDB(DWS) 监控运维诊断优化,历史查询诊断》 ,作者: yd_219384351。
 
DWS历史查询诊断,基于DWS集群历史topsql,提供异常诊断能力。提供SQL趋势统计分析曲线图,展示SQL历史运行趋势;提供历史topsql异常诊断能力,识别资源占用高,运行时间长,以及运行异常的烂SQL,展示各类异常SQL数量,并支持过滤各类异常SQL;提供单SQL的一键诊断能力,一键诊断能力包括SQL语句检查,执行计划诊断和可视化,帮助开发者分析执行计划,分析SQL语句执行性能消耗,提升租户侧自运维能力。

 

核心功能

 

 

功能使用

登录数据仓库服务,选择优化诊断菜单

左侧菜单栏选择优化诊断菜单,会进到优化诊断功能界面,在集群列表中选中集群,第一个tab页就是历史查询分析。
提示:此功能依赖历史查询监控指标,需要集群开启历史查询监控才能正常使用,集群如果未开启监控设置,可从此界面开启。
 
 
 

 

 

 

趋势统计

界面上方是历史查询趋势统计,提供三个tab页切换,分别为历史查询总趋势,SQL质量趋势,SQL运行时长趋势。
历史查询总趋势:支持按照不同维度(集群/用户/实例/应用名称/资源池),指定时间范围内,统计每分钟执行SQL数量。
SQL质量趋势:统计指定时间范围内,每类异常项的SQL数量。 SQL运行时长趋势:统计集群历史SQL执行时间(平均时长/最大时长/最小时长)。
 
 
 
 

 

SQL异常诊断,质量概览

界面中间部分,提供SQL质量概览,显示各类异常SQL数量,点击卡片下方列表同步过滤。
异常项:不下推/CPU超过10万秒/Not in子查询/时长超过1小时/内存超过10G/下盘超过50G/streaming数量超过50
不同集群,可调整异常项的阈值,异常诊断规则基于DWS集群历史topsql字段可灵活配置。
 
 
 

 

历史topsql详情

界面最下方部分,显示历史topsql详情列表,支持条件搜索和全字段排序。
默认显示查询ID,用户名称,数据库名称,提交时间,执行时间,查询语句,查询状态等字段,想要查看更多字段可点击右上角齿轮图标设置显示字段。 点击查看详情按钮可查看历史topsql详情
 
 

 

历史topsql数据汇总

历史topsql数据汇总,按照不同维度对历史topsql做汇总,显示SQL数量,和资源消耗情况。
维度:数据库/用户/资源池/应用名称/实例/uniqueSQLId
 
 

 

一键诊断-执行计划诊断

针对执行计划格式,对执行计划字符串进行解析,对历史topsql表中记录的执行计划进行诊断,并提供可视化图形,可以展示每个节点执行时长,type,扫描行数等信息。
异常诊断项:重分布异常,估算异常,计算倾斜,分区扫描异常,跨逻辑集群查询。
注意:集群历史topsql需要设置为perf级别才可以显示每步执行时长,需要设置guc参数resource_track_level=perf
 
 
 
 

 

一键诊断-SQL语句检查

对用户编写的SQL语句,结合现网经验,总结了12条SQL军规,对SQL语句进行静态检查,可以分析烂SQL,并给出修复意见。
提示:12条SQL军规只是结合DWS使用情况来制定的,具有参考价值,给出的规范还需要根据用户使用情况后续进行迭代。
 
 
 
华为开发者空间,汇聚鸿蒙、昇腾、鲲鹏、GaussDB、欧拉等各项根技术的开发资源及工具,致力于为每位开发者提供一台云主机、一套开发工具及云上存储空间,让开发者基于华为根生态创新。 点击链接 ,免费领取您的专属云主机
 
 
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部