Re: about BufferPoolBlowaway()

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Seung Hyun Jeong" <jeongs(at)cs(dot)man(dot)ac(dot)uk>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: about BufferPoolBlowaway()
Date: 2002-03-14 15:54:07
Message-ID: 15968.1016121247@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Seung Hyun Jeong" <jeongs(at)cs(dot)man(dot)ac(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andre Radke 2002-03-14 16:00:20 problem with array of boxes
Previous Message bgrimm 2002-03-14 15:29:18 Re: Bug #613: Sequence values fall back to previously chec