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、批注

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

相关推荐
oradh1 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
z123456789862 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD2 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
TlSfoward3 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记3 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LabVIEW开发4 小时前
NI Package Manager安装LabVIEW时InternalServerError错误
网络·数据库·labview·labview知识·labview功能·labview程序
SelectDB4 小时前
PostgreSQL 实时同步到 Apache Doris:一站式 CDC 解决方案
数据库
欲速不达88204 小时前
Mysql并发DML锁等待的优化
数据库·mysql
Database_Cool_4 小时前
AI Agent 长期记忆怎么存?阿里云 PolarDB-X 对接 Mem0 记忆框架实践
数据库·阿里云
会编程的土豆5 小时前
数据库范式
数据库·oracle