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

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

相关推荐
一 乐15 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
1.14(java)16 小时前
SQL数据库操作:从CRUD到高级查询
数据库
Full Stack Developme17 小时前
数据库索引的原理及类型和应用场景
数据库
IDC02_FEIYA19 小时前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录19 小时前
MySQL面试题——联合索引
数据库·面试
萧曵 丶19 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
小北方城市网19 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
毕设十刻20 小时前
基于Vue的人事管理系统67zzz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
TDengine (老段)21 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
萧曵 丶1 天前
事务ACID特性详解
数据库·事务·acid