Re: Monitoring buffercache...

From: "Scott Marlowe" <scott(dot)marlowe(at)gmail(dot)com>
To: "Brad Nicholson" <bnichols(at)ca(dot)afilias(dot)info>
Cc: "Kevin Kempter" <kevin(at)consistentstate(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Monitoring buffercache...
Date: 2008-11-24 21:24:47
Message-ID: dcc563d10811241324t116f6e71j4863632b2c0c09a5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, Nov 24, 2008 at 12:52 PM, Brad Nicholson
<bnichols(at)ca(dot)afilias(dot)info> wrote:
>> I just ran it in a loop over and over on my 8 core opteron server and
>> it ran the load factor up by almost exactly 1.0. Under our normal
>> daily load, it sits at 1.9 to 2.5, and it climbed to 2.9 under the new
>> load of running that query over and over. So, it doesn't seem to be
>> blocking or anything.
>
> The internal docs for pg_buffercache_pages.c state:
>
> "To get a consistent picture of the buffer state, we must lock all
> partitions of the buffer map. Needless to say, this is horrible
> for concurrency. Must grab locks in increasing order to avoid
> possible deadlocks."

Well, the pg hackers tend to take a parnoid view (it's a good thing
TM) on things like this. My guess is that the period of time for
which pg_buffercache takes locks on the buffer map are short enough
that it isn't a real big deal on a fast enough server. On mine, it
certainly had no real negative effects for the 5 minutes or so it was
running in a loop. None I could see, and we run hundreds of queries
per second on our system.

Of course, for certain other types of loads it could be a much bigger
issue. But for our load, on our machine, it was virtually
unnoticeable.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Chris 2008-11-24 22:19:55 Re: limit clause produces wrong query plan
Previous Message Andrus 2008-11-24 21:16:27 Re: Hash join on int takes 8..114 seconds