Aurora PostgreSQL 等待事件 - Amazon Aurora

Aurora PostgreSQL 等待事件

下表列出了 Aurora PostgreSQL 最常指示性能问题的等待事件,并总结了最常见的原因和纠正措施。以下等待事件是 Amazon Aurora PostgreSQL 等待事件 中的列表子集。

等待事件 定义

Client:ClientRead

当 Aurora PostgreSQL 等待从客户端接收数据时,会发生此事件。

Client:ClientWrite

当 Aurora PostgreSQL 等待将数据写入客户端时,会发生此事件。

CPU

当线程在 CPU 中处于活动状态或正在等待 CPU 时,会发生此事件。

IO:BufFileRead 和 IO:BufFileWrite

这些事件发生在 Aurora PostgreSQL 创建临时文件时。

IO:DataFileRead

当由于分页在共享内存中不可用,连接等待后端进程从存储中读取所需分页时,会发生此事件。

IO:XactSync

当数据库等待 Aurora 存储子系统确认常规事务的提交,或者准备好的事务的提交或回滚时,会发生此事件。

IPC:DamRecordTxAck

当 Aurora PostgreSQL 在使用数据库活动流的会话中生成活动流事件,然后等待该事件变为持久事件时,会发生此事件。

Lock:advisory

当 PostgreSQL 应用程序使用锁定来协调多个会话之间的活动时,会发生此事件。

Lock:extend

当后端进程正在等待锁定关系以对其进行扩展,而另一个进程出于同样目的锁定该关系时,会发生此事件。

Lock:Relation

当查询等待获取当前被另一个事务锁定的表或视图上的锁定时,会发生此事件。

Lock:transactionid

当事务正在等待行级锁定时,会发生此事件。

Lock:tuple

在后端进程等待获取元组锁定时,会发生此事件。

LWLock:buffer_content (BufferContent)

当某个会话等待读取或写入内存中的某个数据页面,而另一个会话正锁定该页面以进行写入时,会发生此事件。

LWLock:buffer_mapping

当会话正在等待将数据块与共享缓冲池中的缓冲区关联起来时,会发生此事件。

LWLock:BufferIO (IPC:BufferIO)

当 Aurora PostgreSQL 或 RDS for PostgreSQL 正在等待其他进程在同时尝试访问页面时完成输入/输出 (I/O) 操作时,会发生此事件。

LWLock:lock_manager

当 Aurora PostgreSQL 引擎维护共享锁的内存区域以便在无法使用快速路径锁时分配、检查和取消分配锁时,会发生此事件。

LWLock:MultiXact

当 Aurora PostgreSQL 保持会话处于打开状态以完成涉及表中同一行的多个事务时,就会发生此类事件。等待事件表示多事务处理的哪个方面正在生成等待事件,即 LWLock:MultiXactOffsetSLRU、LWLock:MultiXactOffsetBuffer、LWLock:MultiXactMemberSLRU 或 LWLock:MultiXactMemberBuffer。

Timeout:PgSleep

当服务器进程调用 pg_sleep 函数并且正在等待睡眠超时过期时,会发生此事件。