Sunday, June 15, 2008

[PERFORM] how to find the sql using most of the i/o in an oltp system

Hi,

I read a lot about postgres tuning and did some of it. But one of the
things, when you start tuning a system that is completely new to you, is
checking which sql statement(s) cost most of the resources.

cpu instensive sql seems easy to find.
But how do I find i/o intensive sql as fast as possible?

Tuning a sql statements I'm familiar with. Finding a sql statement which
takes too long due to i/o is probably easy as well. But how about
statements that take about 100 ms, that read a lot and that are executed
several times per second?

To ask the same question just different - Is there a possibility to
check how many pages/kB a sql reads from shared buffer and how many
pages/kB from disk?
Is there a possibility to read or create historical records about how
often, how fast one sql is run and how many reads it used from shared
buffers, from disk an so on.


Best regards,
Uwe

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

No comments: