openGauss源码解析(8)
1.5.4 可维护性
1. 支持WDR诊断报告
WDR(workload diagnosis report,工作量诊断报告)基于两次不同时间点系统的性能快照数据,生成这两个时间点之间的性能表现报表,用于诊断数据库内核的性能故障。
WDR主要依赖两个组件:
(1) SNAPSHOT(快照):快照可以配置成按一定时间间隔从内核采集一定量的性能数据,在用户表空间持久化。任何一个SNAPSHOT可以作为一个性能基线,根据其他SNAPSHOT与之比较的结果,可以分析出与基线的性能表现。
(2) WDR Reporter:报表生成工具基于两个SNAPSHOT,分析系统总体性能表现,并能计算出更多项具体的性能指标在这两个时间段之间的变化量,生成SUMMARY和DETAIL两个不同级别的性能数据。
WDR Reporter是长期性能问题最主要的诊断手段。基于SNAPSHOT的性能基线,从多维度做性能分析,能帮助DBA掌握系统负载繁忙程度、各个组件的性能表现、性能瓶颈。SNAPSHOT也是后续性能问题自诊断和自优化建议的重要数据来源。
2. 慢SQL诊断
慢SQL能根据用户提供的执行时间阈值记录所有超过阈值的执行完毕的作业信息。
历史慢SQL提供表和函数两种维度的查询接口,方便用户统计慢SQL指标,对接第三方平台。用户从接口中能查询到作业的执行计划、开始执行时间、结束执行时间、执行查询的语句、行活动、内核时间、CPU时间、执行时间、解析时间、编译时间、查询重写时间、计划生成时间、网络时间、I/O时间、网络开销、锁开销等。所有信息都是脱敏的。
慢SQL提供给用户对于慢SQL诊断所需的详细信息,用户无须通过复现就能离线诊断特定慢SQL的性能问题。
3. 支持一键式收集诊断信息
提供多种套件用于捕获、收集、分析诊断数据,使问题可以诊断,加速诊断过程。能根据开发和定位人员的需要,从生产环境中将必要的数据库日志、数据库管理日志、堆栈信息等提取出来,定位人员根据获得信息进行问题的定界定位。
一键式收集工具可以根据生产环境中问题的不同,从生产环境中获取不同的信息,从而提高问题定位定界的效率。用户可以通过改写配置文件,收集自己想要的信息: