openGauss-Session性能诊断

openGauss- 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;
    

特性增强

无。

特性约束

无。

依赖关系

无。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

  • 23
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nodebb-plugin-session-sharing是NodeBB的一个插件,它允许用户在多个站点之间共享登录会话信息。在不使用该插件时,每个站点都有自己独立的用户会话信息,用户需要在每个站点都单独登录才能访问其功能。 而使用nodebb-plugin-session-sharing插件后,用户只需要在其中一个站点进行登录,然后他们将能够自动登录到其他已安装此插件的站点上。这样一来,用户只需要登录一次,就可以方便地切换和访问多个站点,不再需要对每个站点都进行繁琐的登录操作。 该插件使用了JSON Web Tokens(JWT)来实现会话共享。JWT是一种安全的跨域认证机制,它使用了一种签名算法来验证数据的完整性和真实性。当用户登录到某个站点时,该插件会生成一个JWT,其中包含有关用户的身份验证信息。用户在跳转到其他站点时,该JWT将被传递给其他站点,并被用于验证用户的身份。 此外,nodebb-plugin-session-sharing还支持多站点间设置信任关系。站点可以将其他站点添加到信任列表中,从而允许在这些站点之间共享会话信息。这样,用户即使在不同的站点间切换,也可以保持登录状态,享受到无缝的用户体验。 总的来说,nodebb-plugin-session-sharing是一个方便实用的插件,可以大大简化用户在多个NodeBB站点间切换登录的流程,提升用户体验。同时,它使用了JWT来保证安全性,可靠性较高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值