当前位置: 首页 > news >正文

GaussDB 数据库架构师(八) 等待事件概述-1

1、等待事件概述

 

等待事件:指当数据库会话(session)因资源竞争依赖无法继续执行时,进入"等待"状态,此时产生的性能事件即等待事件。

2、等待事件本质

性能瓶颈的信号灯,反映CPU,I/O、锁、网络等关键资源的阻塞情况。当系统存在阻塞时,优先通地等待事件分析瓶颈点。

3、 常见等待事件

常见等待事情如下表:

等待事件        解释
STATUS(WAIT CMD)等待应用侧发数据,表示此内核session正在等待用户发送数据                
STATUS(none)正在执行过程中,未在某个events产生较多耗时,此状态下内核侧从events来看无明显瓶颈
IO_EVENT(LOGCTRL_SLEEP)数据库发生限流,为了保障数据库的RTO,数据库本身具备流控的能力(受recovery_time_target控制);在压力测试的时候,性能压制较为明显。
STATUS(wait node)                       表示当前Query正在等待其他结点返回,通常如果多数查询在等待某个节点。
STATUS(wait wal sync)等待wal日志同步,通常表示事务提交等待备机日志下盘。
STATUS(flush data)网络数据发送
STATUS(Sort/Sort-fetch tuple/Sort-write file)分别表示正在执行sort算子,获取sort元组,sort下盘操作,其它算子Material/HashJoin/HashAgg等类似

IO_EVENT(DataFileRead/

DataFileWrite)

IO异常使用
LOCK_EVENT(tuple/transactionid)通常大量出现这两个等件事件,业务极大可能出来并发更新,出现整体业务阻塞

详细的其它等待事件看:

PG_THREAD_WAIT_STATUS_系统视图_系统表和系统视图_开发指南(集中式_V2.0-3.x)_云数据库 GaussDB-华为云        

4、查询等待事件视图:

  • dbe_perf.wait_events、dbe_perf.global_wait_events
  • statement_history表detail字段
  • pgxc_thread_wait_status(实时-分布式)、pg_thread_wait_status(实时-集中式)、
  • gs_asp、dbe_perf.local_active_session(历史)

5、等待事件优化流程

 

  

 

6、批注

     等待事件是我们分析性能问题的重要手段,在实际生产环境性能调优非常的有用。

 

http://www.lryc.cn/news/598805.html

相关文章:

  • 阿里云ECS坑之dnf-makecache系统软件更新检测服务
  • 解决postgresql连接数不足
  • 五分钟了解Java 中的锁
  • SQL基础⑪ | 约束
  • JavaScript 中的 structuredClone() 如何彻底改变你的对象复制方式
  • Android LiveData 全面解析:原理、使用与最佳实践
  • Windows 10 远程桌面(RDP)防暴力破解脚本
  • Android 与 Windows 文件路径的设计差异
  • Android Camera createCaptureSession
  • 教程:如何通过代理服务在国内高效使用 Claude API 并集成到 VSCode
  • DGMR压缩技术:让大规模视觉Transformer模型体积减半而性能不减
  • FastAPI中间件
  • iview 部分用法
  • 锁定锁存器 | 原理 / 应用 / 时序
  • 哈希表模拟实现
  • JVM 垃圾收集器CMS和G1
  • HTTP性能优化实战:从协议到工具的全面加速指南
  • 服务端对接 HTTP 接口传输图片 采用base64还是 multipart/form-data
  • 排序初识(上)-- 讲解超详细
  • Android Studio历史版本快速下载(二次修改记录)
  • rna_seq_pipeline.py-python002
  • CloudComPy使用PyInstaller打包后报错解决方案
  • 如何使用 pdfMake 中文字体
  • 【Oracle APEX 】示例应用库无法访问
  • 对称密码算法详解:从DES到AES的加密演进
  • Lua协同程序(coroutine)
  • C11补充
  • 力扣20:有效的括号
  • VirtualBox安装Ubuntu 22.04后终端无法打开的解决方案
  • 在 Ubuntu 20.04 上轻松安装和使用中文输入法