Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-performance by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group