Re: about BufferPoolBlowaway() - Mailing list pgsql-hackers

From Tom Lane
Subject Re: about BufferPoolBlowaway()
Date
Msg-id 15968.1016121247@sss.pgh.pa.us
Whole thread Raw
In response to about BufferPoolBlowaway()  ("Seung Hyun Jeong" <jeongs@cs.man.ac.uk>)
List pgsql-hackers
"Seung Hyun Jeong" <jeongs@cs.man.ac.uk> writes:
> I am experimenting on performance evaluation for some queries based on
> PostgreSQL.
> To give fair conditions to each queries, I try to clear buffer of PostgreSQL
> before running each queries.
> I think  the following function in .../backend/storage/buffer/bufmgr.c seems
> to be designed
> for such a purpose.
> But the function seems to have a logical error in my opinion.

Actually, BufferPoolBlowaway is so completely wrong-headed that it
should be removed entirely.  You can't go around arbitrarily releasing
pins on buffers.  The holder of the pin is going to crash or corrupt
data if you do.

I'm not convinced that starting from an empty disk cache is a
particularly interesting performance measurement, but if you insist
on it: reboot and start the postmaster for each measurement.  (Anything
less than a reboot is an exercise in self-deception, since Postgres
relies on the kernel's disk cache quite as much as its own buffers.)
        regards, tom lane


pgsql-hackers by date:

Previous
From: Turbo Fredriksson
Date:
Subject: Re: 'Following' the Primary key
Next
From: Doug McNaught
Date:
Subject: Re: problems with Tomcat and postgres