我正在使用 postgreSQL-9.1.6 并尝试为 postgreSQL 服务器构建监控应用程序。
我打算从pg_stat_*
信息表中选择 PHYSICAL 和 LOGICAL I/O stat。
根据MANUAL中的字段单位PG_STAT_DATABASE
是BLOCK,这意味着大小为8KB。
postgres=# select * from pg_stat_database where datname='postgres';
-[ RECORD 3 ]-+------------------------------
datid | 12780
datname | postgres
numbackends | 2
xact_commit | 974
xact_rollback | 57
blks_read | 210769
blks_hit | 18664177
tup_returned | 16074339
tup_fetched | 35121
tup_inserted | 18182015
tup_updated | 572
tup_deleted | 3075
conflicts | 0
我可以算出使用* 8KBPHYSICAL READ
的大小。blks_read
但是,没有关于 stats 中的单位的评论PG_STAT_BGWRITER
。
postgres=# select * from pg_stat_bgwriter;
-[ RECORD 1 ]---------+------------------------------
checkpoints_timed | 276
checkpoints_req | 8
buffers_checkpoint | 94956
buffers_clean | 0
maxwritten_clean | 0
buffers_backend | 82618
buffers_backend_fsync | 0
buffers_alloc | 174760
stats_reset | 2013-07-15 22:27:05.503125+09
如何计算PHYSICAL WRITE
通过的大小buffers_checkpoint
?
任何建议将不胜感激。