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

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

相关推荐
r i c k4 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦4 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL5 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·5 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德5 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫6 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i6 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.6 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn6 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露6 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot