RDS PostgreSQL提供了丰富的性能监控项,包括操作系统指标和数据库指标,您可以通过RDS管理控制台查看这些监控数据。
操作步骤
参考信息
操作系统指标和数据库指标的详细信息如下。
操作系统指标
指标分类 | 指标名称 | 指标含义 | 指标单位 | 本地盘实例 | 云盘版实例 |
---|---|---|---|---|---|
网络流量 |
|
网络输入流量 | MB/s | ❌ | ✔️ |
|
网络输出流量 | MB/s | ❌ | ✔️ | |
CPU使用率 |
|
sys cpu使用率,sys cpu使用量 / cpu总量 | % | ✔️ | ✔️ |
|
user cpu使用率,user cpu使用量 / cpu总量 | % | ✔️ | ✔️ | |
|
cpu使用率,(sys + user) cpu使用量 / cpu总量 | % | ✔️ | ✔️ | |
CPU按照进程堆叠 |
|
backend cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ |
|
bgwriter cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
checkpoint cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
logger cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
pgstat cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
walwriter cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
autovacuum cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
walsender cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
|
postmaster cpu使用量(1cpu=100%,2cpu=200%,以次类推) | % | ✔️ | ✔️ | |
内存详情 |
|
规格内存大小 | MB | ✔️ | ✔️ |
|
内存使用量 | MB | ✔️ | ✔️ | |
|
page cache内存使用量 | MB | ✔️ | ✔️ | |
|
共享内存使用量 | MB | ✔️ | ✔️ | |
|
rss内存使用量 | MB | ✔️ | ✔️ | |
|
2M大页使用量(MB) | MB | ✔️ | ✔️ | |
内存按照进程堆叠 |
|
后台进程内存使用量 | MB | ✔️ | ✔️ |
|
bgwriter进程内存使用量 | MB | ✔️ | ✔️ | |
|
checkpoint进程内存使用量 | MB | ✔️ | ✔️ | |
|
logger进程内存使用量 | MB | ✔️ | ✔️ | |
|
pgstat进程内存使用量 | MB | ✔️ | ✔️ | |
|
walwriter进程内存使用量 | MB | ✔️ | ✔️ | |
|
autovacuum进程内存使用量 | MB | ✔️ | ✔️ | |
|
walsender进程内存使用量 | MB | ✔️ | ✔️ | |
|
postmaster进程内存使用量 | MB | ✔️ | ✔️ | |
内存使用率 |
|
内存使用率 | % | ✔️ | ✔️ |
IOPS |
|
磁盘读写IOPS | Counts/s | ❌ | ✔️ |
|
磁盘读IOPS | Counts/s | ❌ | ✔️ | |
|
磁盘写IOPS | Counts/s | ❌ | ✔️ | |
|
本地数据盘IOPS | Counts/s | ✔️ | ❌ | |
|
本地日志盘IOPS | Counts/s | ✔️ | ❌ | |
IO吞吐 |
|
磁盘读写吞吐量 | MB/s | ❌ | ✔️ |
|
磁盘读吞吐量 | MB/s | ❌ | ✔️ | |
|
磁盘写吞吐量 | MB/s | ❌ | ✔️ | |
|
本地数据盘吞吐 | MB/s | ✔️ | ❌ | |
|
本地日志盘吞吐 | MB/s | ✔️ | ❌ | |
磁盘使用率 |
|
磁盘使用率 | % | ❌ | ✔️ |
磁盘空间 |
|
磁盘已用空间 | MB | ❌ | ✔️ |
|
磁盘总空间 | MB | ❌ | ✔️ | |
|
日志文件大小(包含审计日志、错误日志、慢SQL日志) | MB | ✔️ | ✔️ | |
|
wal文件大小 | MB | ✔️ | ✔️ | |
|
数据文件大小(不包含日志和wal) | MB | ✔️ | ✔️ |
数据库指标
说明 下表中监控指标的更多解释,请参见PostgreSQL官方文档。
指标分类 | 指标名称 | 指标含义 | 指标单位 | 本地盘实例 | 云盘版实例 |
---|---|---|---|---|---|
连接 |
|
活跃连接数 | Counts | ✔️ | ✔️ |
|
等待连接数 | Counts | ✔️ | ✔️ | |
|
空闲连接数 | Counts | ✔️ | ✔️ | |
|
连接数 | Counts | ✔️ | ✔️ | |
|
规格连接数 | Counts | ✔️ | ✔️ | |
SQL |
|
每秒返回行数 | Tuples/s | ✔️ | ✔️ |
|
每秒读取行数 | Tuples/s | ✔️ | ✔️ | |
|
每秒插入行数 | Tuples/s | ✔️ | ✔️ | |
|
每秒删除行数 | Tuples/s | ✔️ | ✔️ | |
|
每秒更新行数 | Tuples/s | ✔️ | ✔️ | |
慢SQL |
|
已执行1s的SQL数 | Counts | ✔️ | ✔️ |
|
已执行3s的SQL数 | Counts | ✔️ | ✔️ | |
|
已执行5s的SQL数 | Counts | ✔️ | ✔️ | |
长事务 |
|
已执行1s的事务数 | Counts | ✔️ | ✔️ |
|
已执行3s的事务数 | Counts | ✔️ | ✔️ | |
|
已空闲1s的事务数 | Counts | ✔️ | ✔️ | |
|
已空闲3s的事务数 | Counts | ✔️ | ✔️ | |
|
已空闲5s的事务数 | Counts | ✔️ | ✔️ | |
|
已执行1s的两阶段事务 | Counts | ✔️ | ✔️ | |
|
已执行3s的两阶段事务 | Counts | ✔️ | ✔️ | |
|
已执行5s的两阶段事务 | Counts | ✔️ | ✔️ | |
临时文件数 |
|
每秒临时文件生成个数 | Counts/s | ✔️ | ✔️ |
临时文件大小 |
|
每秒临时文件数据生成大小 | Bytes/s | ✔️ | ✔️ |
数据库最大年龄 |
|
数据库最大年龄 | xids | ✔️ | ✔️ |
只读同步延迟 |
|
只读实例replay延迟时间 | s | ✔️ | ✔️ |
|
只读实例write延迟时间 | s | ✔️ | ✔️ | |
|
只读实例flush延迟时间 | s | ✔️ | ✔️ | |
数据库内存分布 |
|
规格内存大小 | MB | ✔️ | ✔️ |
|
shared_buffer内存使用量
说明 第一级数据缓存,增长到最高25%内存后保持不变。
|
MB | ✔️ | ✔️ | |
|
rss内存使用量
说明 表示PostgreSQL进程的malloc内存,与连接数量、运行的SQL相关,与
db.mem_size.cache 弹性共享75%内存,通常在10%左右。
|
MB | ✔️ | ✔️ | |
|
空闲内存
说明 完全空闲的内存,将会慢慢趋近于0,PostgreSQL会尽可能将空闲内存用于db.mem_size.cache,使实例内存利用率达到100%。
|
MB | ✔️ | ✔️ | |
|
page cache内存使用量
说明 第二级数据缓存,与
db.mem_size.rss 弹性共享75%内存,通常在65%左右。
|
MB | ✔️ | ✔️ | |
数据库可用内存 |
|
数据库可用内存
说明
可用内存=空闲内存+可快速回收的cache内存 ,当db.mem_size.rss 持续增加时,将会使用此部分内存以防止OOM。
|
MB | ✔️ | ✔️ |
数据库可用内存率 |
|
数据库可用内存率
说明 db.mem_available.size占比,与云监控报警功能中“内存使用率”互补,两者之和等于1。当小于20%时,需要开始干预:通过减少idle connection数量、优化SQL或者增大内存规格等增加available
memory占比。
|
% | ✔️ | ✔️ |
SharedBuffers命中率 |
|
shared_buffers命中率 | % | ✔️ | ✔️ |
SharedBuffers命中次数 |
|
shared_buffers每秒命中数 | Blocks/s | ✔️ | ✔️ |
IO |
|
backend进程每秒磁盘read次数(OS buffered read) | Counts/s | ✔️ | ✔️ |
|
backend进程每秒磁盘write次数(OS buffered write) | Counts/s | ✔️ | ✔️ | |
|
checkpoint进程每秒磁盘write次数(OS buffered write) | Counts/s | ✔️ | ✔️ | |
|
bgwriter进程每秒磁盘write次数(OS buffered write) | Counts/s | ✔️ | ✔️ | |
|
backend进程每秒执行磁盘fsync的次数 | Counts/s | ✔️ | ✔️ | |
Checkpoint次数 |
|
每秒内核调度的checkpoints数量 | Counts/s | ✔️ | ✔️ |
|
每秒外部请求的checkpoints数量 | Counts/s | ✔️ | ✔️ | |
事务TPS |
|
每秒写事务提交数 | Counts/s | ✔️ | ✔️ |
|
每秒写事务回滚数 | Counts/s | ✔️ | ✔️ | |
事务状态 |
|
活跃状态事务数 | Counts | ✔️ | ✔️ |
|
等待状态事务数 | Counts | ✔️ | ✔️ | |
|
idle-in-transaction状态事务数(注意:不合理状态,需要尽快处理) | Counts | ✔️ | ✔️ | |
膨胀点 |
|
膨胀点,最长事务已执行时间 | s | ✔️ | ✔️ |
ReplicationSlot延迟 |
|
最大ReplicationSlot wal复制延迟(注意:复制位点之后的wal需要被保留,该值较大时会导致wal堆积,需要尽快处理) | MB | ✔️ | ✔️ |
Checkpoint写时间 |
|
checkpoint进程平均每秒磁盘fsync时间 | ms/s | ✔️ | ✔️ |
|
checkpoint进程平均每秒磁盘write时间(OS buffered write) | ms/s | ✔️ | ✔️ |
相关API
API | 描述 |
---|---|
DescribeDBInstancePerformance | 查询性能数据 |
DescribeAvailableMetrics | 获取增强监控指标列表 |
ModifyDBInstanceMetrics | 变更增强监控指标项 |
DescribeDBInstanceMetrics | 查询实例已开启的增强指标 |