RDS PostgreSQL提供了丰富的性能监控项,包括操作系统指标和数据库指标,您可以通过RDS管理控制台查看这些监控数据。
操作步骤
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击监控与报警。
选择增强监控页签,单击指标管理,分别在操作系统指标页签和数据库指标页签中选择需要显示的指标项,各指标项详情,请参见参考信息。
说明增强监控页面中最多能显示30个指标。
您可以将已选择显示的指标项方案应用到当前地域的所有RDS PostgreSQL实例:
如果当前为云盘版实例,将会应用到已存在以及以后创建的RDS PostgreSQL云盘实例。
如果当前为本地盘实例,将会应用到已存在以及以后创建的RDS PostgreSQL本地盘实例。
单击更新指标后,在增强监控页即可看到对应的指标项监控数据。
增强监控页面还提供了多种查询设置,使您更方便地查看相应的监控数据。
序号
功能
说明
①
查询时间范围
支持按照预设的时间范围和自定义时间范围查询。
预设时间范围支持:30分钟、1小时、2小时、6小时、1天、7天和30天。
自定义时间范围:开始时间(YYYY-MM-DD hh:mm:ss) - 结束时间(YYYY-MM-DD hh:mm:ss)
②
聚合方式
支持按照如下聚合方式显示指标结果。
求平均
求最大
求最小
③
布局
支持按如下分布调整显示结果的布局。
一列
二列
三列
四列
④
时间粒度
表示显示图表中横坐标的时间粒度。
时间粒度与查询时间相关联,对应关系如下:
查询时间范围小于等于1小时,时间粒度为5秒
查询时间范围大于1小时且小于等于2小时,时间粒度为10秒
查询时间范围大于2小时且小于等于6小时,时间粒度为30秒
查询时间范围大于6小时且小于等于12小时,时间粒度为1分钟
查询时间范围大于12小时且小于等于1天, 时间粒度为2分钟
查询时间范围大于1天且小于等于5天, 时间粒度为10分钟
查询时间范围大于5天且小于等于15天,时间粒度为30分钟
查询时间范围大于15天且小于等于30天,时间粒度为1小时
⑤
光标联动
支持打开光标联动开关,当光标悬浮在图表的某一时间点时,其他图表联动显示对应时间点的指标数据。
⑥
刷新
支持通过手动刷新来更新图表数据。
参考信息
操作系统指标和数据库指标的详细信息如下。
操作系统指标
指标分类 | 指标名称 | 指标含义 | 指标单位 | 本地盘实例 | 云盘版实例 |
网络流量 |
| 网络输入流量 | 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相关,与
| MB | ✔️ | ✔️ | |
| 空闲内存 说明 完全空闲的内存,将会慢慢趋近于0,PostgreSQL会尽可能将空闲内存用于db.mem_size.cache,使实例内存利用率达到100%。 | MB | ✔️ | ✔️ | |
| page cache内存使用量 说明 第二级数据缓存,与
| MB | ✔️ | ✔️ | |
数据库可用内存 |
| 数据库可用内存 说明
| MB | ✔️ | ✔️ |
数据库可用内存率 |
| 数据库可用内存率 说明
| % | ✔️ | ✔️ |
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 | ✔️ | ✔️ | |
PgBouncer连接 |
| 客户端活跃连接数 说明 只有开启连接池功能后,才可以在增强监控中查看连接池的相关监控指标。 | Counts | ❌ | ✔️ |
| 客户端等待连接数 | Counts | ❌ | ✔️ | |
| 服务端活跃连接数 | Counts | ❌ | ✔️ | |
| 服务端空闲连接数 | Counts | ❌ | ✔️ | |
| 连接池总连接数 | Counts | ❌ | ✔️ | |
| 连接池数量 | Counts | ❌ | ✔️ |
相关API
API | 描述 |
查询性能数据 | |
获取增强监控指标列表 | |
变更增强监控指标项 | |
查询实例已开启的增强指标 |