一文解读 GaussDB(DWS) 监控运维诊断优化能力
本文分享自华为云社区《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、欧拉等各项根技术的开发资源及工具,致力于为每位开发者提供一台云主机、一套开发工具及云上存储空间,让开发者基于华为根生态创新。点击链接,免费领取您的专属云主机
评论