monitoring-stats.html documentation

Started by Robert Haasabout 17 years ago6 messageshackers
Jump to latest
#1Robert Haas
robertmhaas@gmail.com

http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
says: "Note: blocks_fetched minus blocks_hit gives the number of
kernel read() calls issued for the table, index, or database; but the
actual number of physical reads is usually lower due to kernel-level
buffering." This seems to imply that anything that increases
blocks_hit should also increase blocks_fetched, but that doesn't seem
to match the actual behavior.

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;
heap_blks_read | heap_blks_hit
----------------+---------------
4356 | 5618
(1 row)

rhaas=# select sum(1) from foo;
sum
--------
100000
(1 row)

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;
heap_blks_read | heap_blks_hit
----------------+---------------
4356 | 6354
(1 row)

Obviously, if the note above were correct then (1) the number of
read() calls issue by the kernel would be negative and (2) accessing
the relation when it is fully cached would decreases the number of
read() calls previously issued.

...Robert

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Haas (#1)
Re: monitoring-stats.html documentation

Robert Haas <robertmhaas@gmail.com> writes:

http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
says: "Note: blocks_fetched minus blocks_hit gives the number of
kernel read() calls issued for the table, index, or database; but the
actual number of physical reads is usually lower due to kernel-level
buffering." This seems to imply that anything that increases
blocks_hit should also increase blocks_fetched, but that doesn't seem
to match the actual behavior.

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;

It's talking about the underlying pg_stat_get_db_blocks_fetched()
function, not heap_blks_read which is just a view field defined as

pg_stat_get_blocks_fetched(C.oid) -
pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,

Probably that sentence ought to spell out the full function name
instead of abbreviating.

regards, tom lane

#3Robert Haas
robertmhaas@gmail.com
In reply to: Tom Lane (#2)
Re: monitoring-stats.html documentation

On Sat, Apr 4, 2009 at 6:08 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Robert Haas <robertmhaas@gmail.com> writes:

http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
says: "Note: blocks_fetched minus blocks_hit gives the number of
kernel read() calls issued for the table, index, or database; but the
actual number of physical reads is usually lower due to kernel-level
buffering."  This seems to imply that anything that increases
blocks_hit should also increase blocks_fetched, but that doesn't seem
to match the actual behavior.

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;

It's talking about the underlying pg_stat_get_db_blocks_fetched()
function, not heap_blks_read which is just a view field defined as

           pg_stat_get_blocks_fetched(C.oid) -
                   pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,

Probably that sentence ought to spell out the full function name
instead of abbreviating.

Oh, I see. I misread it, but I agree it could be written in a way
that would make it less likely to be misread. You could even add a
sentence explicitly mentioning that the views display the difference
of the two values.

...Robert

#4Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#2)
Re: monitoring-stats.html documentation

Tom Lane wrote:

Robert Haas <robertmhaas@gmail.com> writes:

http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
says: "Note: blocks_fetched minus blocks_hit gives the number of
kernel read() calls issued for the table, index, or database; but the
actual number of physical reads is usually lower due to kernel-level
buffering." This seems to imply that anything that increases
blocks_hit should also increase blocks_fetched, but that doesn't seem
to match the actual behavior.

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;

It's talking about the underlying pg_stat_get_db_blocks_fetched()
function, not heap_blks_read which is just a view field defined as

pg_stat_get_blocks_fetched(C.oid) -
pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,

Probably that sentence ought to spell out the full function name
instead of abbreviating.

Done.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

Attachments:

/rtmp/difftext/x-diffDownload+4-4
#5Bruce Momjian
bruce@momjian.us
In reply to: Robert Haas (#3)
Re: monitoring-stats.html documentation

Robert Haas wrote:

On Sat, Apr 4, 2009 at 6:08 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Robert Haas <robertmhaas@gmail.com> writes:

http://developer.postgresql.org/pgdocs/postgres/monitoring-stats.html
says: "Note: blocks_fetched minus blocks_hit gives the number of
kernel read() calls issued for the table, index, or database; but the
actual number of physical reads is usually lower due to kernel-level
buffering." ?This seems to imply that anything that increases
blocks_hit should also increase blocks_fetched, but that doesn't seem
to match the actual behavior.

rhaas=# select heap_blks_read, heap_blks_hit from pg_statio_user_tables;

It's talking about the underlying pg_stat_get_db_blocks_fetched()
function, not heap_blks_read which is just a view field defined as

? ? ? ? ? ?pg_stat_get_blocks_fetched(C.oid) -
? ? ? ? ? ? ? ? ? ?pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,

Probably that sentence ought to spell out the full function name
instead of abbreviating.

Oh, I see. I misread it, but I agree it could be written in a way
that would make it less likely to be misread. You could even add a
sentence explicitly mentioning that the views display the difference
of the two values.

Done with attached patch; good idea.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

Attachments:

/rtmp/difftext/x-diffDownload+5-5
#6Robert Haas
robertmhaas@gmail.com
In reply to: Bruce Momjian (#5)
Re: monitoring-stats.html documentation

On Thu, Apr 9, 2009 at 11:14 PM, Bruce Momjian <bruce@momjian.us> wrote:

Done with attached patch;  good idea.

Bruce,

You are a documentation-tuning machine... thanks.

...Robert