Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql pg_stat_bgwriter表中缓冲区检查点的单位是什么?_Postgresql - Fatal编程技术网

Postgresql pg_stat_bgwriter表中缓冲区检查点的单位是什么?

Postgresql pg_stat_bgwriter表中缓冲区检查点的单位是什么?,postgresql,Postgresql,我正在使用postgreSQL-9.1.6并尝试为postgreSQL server构建监控应用程序 我计划从pg_stat_*信息表中选择物理和逻辑I/O stat 根据PG_STAT_数据库中字段的单位,它是块,表示大小为8KB 我可以用blks_READ*8KB计算出物理读取的大小。 但是,PG_STAT_BGWRITER中没有关于统计单位的评论 如何通过缓冲区\检查点计算物理写入的大小 任何建议都将不胜感激。摘自Greg Smith的《事实性能手册Postgresql 9.0高性能》,在

我正在使用postgreSQL-9.1.6并尝试为postgreSQL server构建监控应用程序

我计划从pg_stat_*信息表中选择物理和逻辑I/O stat

根据PG_STAT_数据库中字段的单位,它是块,表示大小为8KB

我可以用blks_READ*8KB计算出物理读取的大小。 但是,PG_STAT_BGWRITER中没有关于统计单位的评论

如何通过缓冲区\检查点计算物理写入的大小


任何建议都将不胜感激。

摘自Greg Smith的《事实性能手册Postgresql 9.0高性能》,在“数据库活动和统计”一章中:

根据活动而不是时间流逝请求检查点的时间百分比是多少? 平均检查点写入多少数据? 分别有多少百分比的数据是从检查点和后端写入的?
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
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
SELECT
    (100 * checkpoints_req) /
        (checkpoints_timed + checkpoints_req) AS checkpoints_req_pct,
    pg_size_pretty(buffers_checkpoint * block_size /
         (checkpoints_timed + checkpoints_req)) AS avg_checkpoint_write,
    pg_size_pretty(block_size *
        (buffers_checkpoint + buffers_clean + buffers_backend)) AS total_written,
    100 * buffers_checkpoint /
        (buffers_checkpoint + buffers_clean + buffers_backend) AS checkpoint_write_pct,
    100 * buffers_backend /
        (buffers_checkpoint + buffers_clean + buffers_backend) AS backend_write_pct,
    *
FROM pg_stat_bgwriter,
(SELECT cast(current_setting('block_size') AS integer) AS block_size) bs;