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.
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 |