首页 > 其他分享 >openGauss Session性能诊断

openGauss Session性能诊断

时间:2024-03-28 10:22:06浏览次数:25  
标签:Session 诊断 sessionid session time openGauss event 资源

Session性能诊断

可获得性

本特性自openGauss 1.0.0 版本开始引入。

特性简介

Session性能诊断提供给用户Session级别的性能问题诊断。

客户价值

  • 查看最近用户Session最耗资源的事件。
  • 查看最近比较占资源的SQL把资源都消耗在哪些等待事件上。
  • 查看最近比较耗资源的Session把资源都花费在哪些等待事件上。
  • 查看最近最耗资源的用户的信息。
  • 查看过去Session相互阻塞的等待关系。

特性描述

Session性能诊断提供对当前系统所有活跃Session进行诊断的能力。由于实时采集所有活跃Session的指标对用户负载的影响加大,因此采取Session快照的技术对活跃Session的指标进行采样。

从采样中统计出活跃Session的统计指标,这些统计指标从客户端信息、执行开始、结束时间、SQL文本、等待事件、当前数据库对象等维度,反映活跃Session的基本信息、状态、持有的资源。

基于概率统计的活跃Session信息,可以帮助用户诊断系统中哪些Session消耗了更多的CPU、内存资源,哪些数据库对象是热对象,哪些SQL消耗了更多的关键事件资源等,从而定位出有问题Session、SQL、数据库设计。

Session采样数据分为两级,如图1所示:

  1. 第一级为实时信息,存储在内存中,展示最近几分钟的活跃Session信息,具有最高的精度;
  2. 第二级为持久化历史信息,存储在磁盘文件中,展示过去很长一段时间的历史活跃Session信息,从内存数据中抽样而来,适合长时间跨度的统计分析。

图 1 Session性能诊断原理

部分使用场景如下所示:

  1. 查看session之间的阻塞关系

    select sessionid, block_sessionid from pg_thread_wait_status;
    
  2. 采样blocking session信息

    select sessionid, block_sessionid from DBE_PERF.local_active_session;
    
  3. Final blocking session展示

    select sessionid, block_sessionid, final_block_sessionid from DBE_PERF.local_active_session;
    
  4. 最耗资源的wait event

    SELECT s.type, s.event, t.count
    FROM dbe_perf.wait_events s, (
    SELECT event, COUNT (*)
    FROM dbe_perf.local_active_session
    WHERE sample_time > now() - 5 / (24 * 60)
    GROUP BY event)t WHERE s.event = t.event ORDER BY count DESC;
    
  5. 查看最近五分钟较耗资源的session把资源都花费在哪些event上

    SELECT sessionid, start_time, event, count
        FROM (
    SELECT sessionid, start_time, event, COUNT(*)
        FROM dbe_perf.local_active_session
    WHERE sample_time > now() - 5 / (24 * 60)
        GROUP BY sessionid, start_time, event) as t ORDER BY SUM(t.count) OVER (PARTITION BY t. sessionid, start_time)DESC, t.event;
    
  6. 最近五分钟比较占资源的SQL把资源都消耗在哪些event上

    SELECT query_id, event, count
        FROM (
    SELECT query_id, event, COUNT(*)
        FROM dbe_perf.local_active_session
    WHERE sample_time > now() - 5 / (24 * 60)
        GROUP BY query_id, event) t ORDER BY SUM (t.count) OVER (PARTITION BY t.query_id ) DESC, t.event DESC;
    

特性增强

无。

特性约束

无。

依赖关系

无。

标签:Session,诊断,sessionid,session,time,openGauss,event,资源
From: https://www.cnblogs.com/renxyz/p/18100920

相关文章

  • 【实战教程】Spring Boot项目集成华为openGauss数据库的关键步骤与注意事项
    引言:随着国产数据库技术的崛起,华为openGauss凭借其高性能、安全可靠及易用性成为了众多开发者的首选方案。本篇技术文章将聚焦于如何在SpringBoot项目中成功集成华为openGauss数据库,并揭示其中的一些关键步骤与注意事项,助您轻松驾驭这一强大的数据库引擎。正文:一、环境准备......
  • openGauss/MOGDB时间消耗相关视图
    openGauss/MOGDB时间消耗相关视图本文出处:https://www.modb.pro/db/388212数据库版本openGauss/MOGDB-2.1.1一、显示当前用户在各个节点上正在执行的作业的负载管理记录(单位:ms)包含:语句执行前的阻塞时间、语句执行的开始时间、语句已经执行的时间、语句执行预估总时间、语句......
  • 手工安装部署openGauss3.0一主一备(非om工具安装)
    手工安装部署openGauss3.0一主一备(非om工具安装)本文出处:https://www.modb.pro/db/425385一、操作系统配置(centos7.6)1.关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld2.关闭selinux服务setenforce0vim/etc/selinux/configSELINUX=disabled3.......
  • 车载测试 UDS诊断 CANoe使用(线下实操项目)
    可以线下带大家对车载项目:uds诊断进行实操训练和CANoe工具的灵活使用 熟悉领域:CAN一致性测试(物理层、数据链路层、应用层)、车控、导航、OTA、UDS诊断、BootLoader刷写、工具:CANOE、周立功产品、同星产品、示波器、信号发送器、 需要项目或者CANoe工具实操的可以关注并......
  • 【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024
    问题描述在使用ServiceBus中,遇见了莫名奇妙,不知来源的访问,但是又不敢直接修改AccessKey(担心影响正常业务),所以想通过访问服务的客户端IP地址来分析,到底是那里的客户端在访问ServiceBus服务? 问题解答经过调查,可以通过开启AzureServiceBus的诊断日志来实现此目的。......
  • MogDB/openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本表......
  • MogDB/openGauss存储过程的修改
    MogDB/openGauss存储过程的修改SQL中没有提供显式的存储过程修改命令,通常需要通过REPLACE关键字来指定使用当前的存储过程替代之前的同名存储过程。将前文定义的存储过程替换为按照地区分组的数量统计,具体语句如下:MogDB=#CREATEORREPLACEPROCEDUREwarehouse_count()L......
  • MogDB/openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本表......
  • openGauss中如何管理表空间
    openGauss中如何管理表空间在openGauss中,表空间是一个目录,在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间,里面存储的是它所包含的数据库的各种物理文件。由于表空间是一个目录,仅是起到了物理隔离的作用,其管理功能依赖于文件系统。表空间可以存在多个......
  • MogDB/opengauss触发器简介(1)
    MogDB/opengauss触发器简介(1)触发器是对应用动作的响应机制,当应用对一个对象发起DML操作时,就会产生一个触发事件(Event)。如果该对象上拥有该事件对应的触发器,那么就会检查触发器的触发条件(Condition)是否满足,如果满足触发条件,那么就会执行触发动作(Action)。事件:触发器的触发事件,......