系统级:集群级别或节点级别指标
OS,instance time,memory,session,thread,events、utility
对象级:数据库对象指标
database、table、index,file、lock
应用级:表征应用负载性能
transaction、statement、active session profile、slow query、full sql trace
系统级OS:
dbe_perf.os_runtime、os_threads:获取实时的cpu 时间、load、内存消耗信息(类似top),用于判断当前操作系统的负载状态
instance_time:系统级的时间消耗细分、判断整个系统是否存在负载、网络、IO、CPU 上的瓶颈
memory
memory_node_detail:实例级内存(全局、动态内存、共享内存、通信等分配),使用率。
shared_memory_detail:共享内存上下文分配使用率,定位定界可细化至特性级别,结合session 级别内存上下文分配试图接口,可帮助定位会话级内存使用问题
session
SESSION _ STAT :会话级负载强度,逻辑/物理读写强度,排序活动等,用于甄别出负载强度高,使用资源多的会话。
SESSION _ TIME :会话级时间细分,用于甄别出不同时间维度上 session 的消耗。
SESSION _ MEMORY 、 SESSION _ MEM: 可以定位单个 session 在特性级上的内存问题。
SESSION _ STAT _ ACTIVITY :获取实时系统活跃会话列表◇包括会话基本信息、会话事务、语句、等待事件、会话状态( active 、 idle 等),
用于分析当前系统活跃用户的活动信息,比如从语句的开始时间判断当前会话是否一致阻塞在某一个语句,从等待事件可以判断某一个或者
多数会话阻塞在哪个事件或者节点(分布式场景)
thread
thread_wait_statues:获取实例工作线程、辅助线程列表,判断线程的运行状态当前正阻塞在哪个事件上,正在等待那个锁、或被哪个会话阻塞
(提供可以判断系统中的会话等待链的接口)
event
WAIT _ EVENTS :各功能模块中 IO 、 LOCK 、 LWLOCK 、 STATUS 四类事件的等待次数,等待失败次数,等待时间等维度的统计信息,
可以帮助定位特性级细粒度时延性能问题
Utility
COMM _ DELAY 、 COMM _ RECV _ STREAMCOMMSENDSTREAMOMMSTATUS 取通信组件时延信息,接收和发送流状态,用于诊断通信链路容量和时延障
REPLICATION _ STAT :获取分布式部署形态下主备同步状态信息,用于诊断主备时延,复制性故障。
GLOBAL _ GET _ BGWRITER _ STATUS 、 GLOBALPAGEWRITERSTATUS :检查点信息, buffer 中待落盘脏页信息,后台刷脏工作线程的状态将
影响 buffer pool 的效率,磁盘的繁忙程度,这些信息可以帮助优化缓存和 IO 性能
POOLER _ STATUS :分布式部署形态下, CN 和 DN 之间的连接池将影响事务的执行效率和成功率, pooler 状态可以帮助诊断连接池瓶颈
对象级
Database
STAT _ DATABASE : STAT _ DATABASE _ CONFLICTS:提供数据库级别的活跃连接数,负载强度,块读写性能、行活动、死锁、临时下盘文件等信息。
根据这些信息可以帮助建立数据库访存模型(读写比等负载特点)、识别热点数据库、诊断数据库级别大颗粒性能瓶颈。
Table
STAT _ USER _ TABLES、STAT _ SYS _ TABLES 、 STAT _ ALL _ TABLES 、 STATIO _ USER _ TABLES , STATIO _ SYS _ TABLES 、
STATIO _ ALL _ TABLES:表上行扫描 活动,索引扫描活动,行变更活动,活跃行占比、表维护操作活动( vaccum 、analyze ),
页面读取缓冲命中率等,这些信息可以帮助建立表级别的访存模型(读写比,缓存效率等),识别热点表,预警表维护操作,诊断表级别细粒度性能瓶颈。
GLOBAL _ STAT _ HOTKEYS _ INFO :识别表级别热 key ,定界热点访问造成的网络, IO 瓶颈。
Index
STAT _ USER _ INDEXES 、 STAT _ SYS _ INDEXES , STAT _ ALL _ INDEXES ,STATIO _ USER _ INDEXES 、 STATIO _ SYS _ INDEXES 、
STATIO _ ALL _ INDEXES
索引使用统计: index scan 次数, index scan 返回的索引项,通过 index scan 返回的表行数等,索引页的缓存效率等,用以评估索引收益和效率。
Lock
lock:对象锁涉及到的对象,事务,会话,锁信息,实时显示当前系统锁等待关系,识别热点锁。
Sequence
STATIO _ USER _ SEQUENCES 、 STATIO _ SYS _ SEQUENCES 、 STATIO _ ALL _ SEQUENCES :sequence 的缓存效率。
应用级
Statement
STATEMENT _ COUNT , STATEMENT :DDL , DML ( select , insert , updateelt )负载特征模型,预警负载异常变动。
语句级别(归一化 SQL 、模板 SQL )的响应时间,执行次数,行活动,软硬解析比,时间模型、网络开销、排序性能(时间,内存,溢出),
执行器 HASH 性能(时间,内存、溢出)。据此可以识别热点语句,定位语句性能瓶颈,建立语句性能基线,以低成本预警语句性能变化。
Active Session Profile
· LOCAL _ ACTIVE _ SESSION 、 GS _ ASP ( public schema )
. ASP ( Active Session Profile )活跃会话概要信息◇通过采样实例活跃会话的状态信息,低成本复现过去一段时间的系统活动,主要包含会话基本信息,
会话事务,语句,等待事件,会话状态( active 、 idle 等),当前正阻塞在哪个事件上,正在等待哪个锁,或被哪个会话阻塞。可以从中获取如下主要概要信息:
1.最近用户 session 最耗资源的的事件。
2.最近比较占资源的 session / SQL 把资源都消耗在哪些 event 上。
3.最近执行时间/执行次数最多的是哪些 SQL (进而可以找出表◇数据库)。
4.最近钟最耗资源的用户的信息。
5.最近阻塞其他 session 最多的 session 。
LOCAL _ ACTIVE _ SESSION 的默认采样频率是1s,内存视图; ASP 的默认采样频率是10s,持久化在存储。
Full SQL trace & Slow Query
STATEMENT _ HISTORY :记录全量 SQL 信息,分为 Lo 、L1、L2三个等级,可以获取实例信息,客户端信息,语句概要信息,执行信息,
行活动信息,Cache / lO 、时间模型、网络统计信息,锁概要信息,锁详细信息等。通过全量 SQL ,可以得到整个系统所有语句的执行流水
以及他们的详细性能数据(持久化的)。除 Statement 视图提供的能力外,还额外提供了详细加放锁信息,可以诊断到单语句级别的性能波动。
达到慢查询阈值设置的语句性能信息,性能要素和全量 SOL 一致