GaussDB-支持ASP报告

GaussDB-支持ASP报告

可获得性

本特性自503.2.0版本开始引入。

特性简介

ASP报告提供会话级别的报告,报告基于活跃会话采样的样本进行分析,从SQL、Session、Wait event维度分析得到ASP报告。

客户价值

  • ASP报告是针对短暂的性能抖动问题主要的诊断手段,基于活跃会话采样的样本,从SQL、Session、Wait event维度分析,能帮助DBA掌握系统负载变化情况以及性能瓶颈。
  • ASP活跃样本数据也是后续性能问题自诊断和自优化建议的重要数据来源。

特性描述

ASP报告(Active Session Profile)基于活跃会话采样的样本进行分析,用于诊断数据库内核的短暂性能故障。

使用generate_asp_report(...) 可以生成基于活跃会话样本性能报告。

后台线程每秒会采集数据库中的所有活跃会话信息,并保存在内存(asp_sample_num控制内存中最大保留样本数)中,在内存达到上限后,ASP样本数据会被存储在postgres库的gs_asp表中,在从内存转储到表中时可以通过asp_flush_rate控制落盘时的二次采样率,默认的采集和保存策略为:
  • 内存保留的最大样本数(asp_sample_num=100000)。
  • 样本从内存中刷到磁盘上采样的比例默认是10:1(asp_flush_rate=10)。

特性增强

无。

特性约束

  • ASP是按照1秒进行采样,内存达到阈值后并按照1:10采样的比例持久化到表中,所以对于表的数据的最小采样粒度为10秒,对于某些执行较快的SQL,ASP可能采不到,则ASP报告中不会展示。
  • ASP中的SQL text信息来自于unique SQL,DN上unique SQL不会记录SQL text信息,所以DN的ASP报告SQL text为空,另外如果instr_unique_sql_count太小导致unique hash被占满时,新的语句就不会保存sql text,会导致ASP报告中部分SQL的text为空。
  • 如果生成ASP报告的时间段过大、时间段内并发数过多、或者slot数过大,可能都会导致数据量过大,查询速度变慢,ASP报告生成较慢。
  • 报告中显示slot的时间段的粒度默认只能到gs_asp表的10s的粒度,所以slot的个数可能比传入参数slots少。
  • 目前报告中展示的数据都是去掉部分后台线程后分析的结果,屏蔽的后台线程有undo recycler,workload,Asp,PercentileJob,JobScheduler,Wal Writer,CheckPointer,WDR相关线程。
  • ASP报告需要引入开源软件ECHARTS,该软件支持Chrome、edge浏览器,不支持IE浏览器。
  • ASP报告生成不在一个事务内,如果传入的start time比ASP样本的最旧时间小,生成报告过程中ASP旧数据可能被回收,则整个ASP报告的sample count可能不一致。
  • ASP报告不支持备机。

依赖关系

无。

 
posted @ 2024-10-30 09:04  jerrywang1983  阅读(7)  评论(0)    收藏  举报