Re: Identifying the nature of blocking I/O - Mailing list pgsql-performance

From Jonah H. Harris
Subject Re: Identifying the nature of blocking I/O
Date
Msg-id 36e682920808250720p2931727cif70447be301bd71c@mail.gmail.com
Whole thread Raw
In response to Identifying the nature of blocking I/O  (Peter Schuller <peter.schuller@infidyne.com>)
List pgsql-performance
On Fri, Aug 22, 2008 at 7:52 AM, Peter Schuller
<peter.schuller@infidyne.com> wrote:
> Is there currently a way of dumping such information? I.e., asking PG
> "what are backends waiting on right now?".

Unfortunately, not within Postgres itself.  The question, "what is the
database waiting on?" is a good one, and one Oracle understood in the
early 90's.  It is for that reason that EnterpriseDB added RITA, the
Runtime Instrumentation and Tracing Architecture, to their Advanced
Server product.  RITA gives DBAs some of the same information as the
Oracle Wait Interface does regarding what the database is waiting for,
such as locks, I/O, and which relation/block.  While it's not as
efficient as DTrace due to Linux's lack of a good high-resolution
user-mode timer, no one has found it to have a noticible overhead on
the throughput of a system in benchmarks or real-world applications.

If you're on a DTrace platform, I would suggest using it.  Otherwise,
you can try and use strace/ltrace on Linux, but that's probably not
going to get you the answers you need quickly or easily enough.  Until
enough users ask for this type of feature, the community isn't going
to see it as valuable enough to add to the core engine.  IIRC,
systemtap is pretty much dead :(

--
Jonah H. Harris, Senior DBA
myYearbook.com

pgsql-performance by date:

Previous
From: "Fernando Hevia"
Date:
Subject: Re: Big delete on big table... now what?
Next
From: Matthew Wakeling
Date:
Subject: Re: Large number of tables slow insert