Re: Wierd context-switching issue on Xeon

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: josh@agliodbs.com
Cc: Joe Conway <mail@joeconway.com>, "scott.marlowe" <scott.marlowe@ihs.com>, Bruce Momjian <pgman@candle.pha.pa.us>, lutzeb@aeccom.com, pgsql-performance@postgresql.org, Neil Conway <neilc@samurai.com>
Date: 2004-04-19T22:55:34Z
Lists: pgsql-performance
Josh Berkus <josh@agliodbs.com> writes:
>> I've got a quad 2.8Ghz MP Xeon (IBM x445) that I could test on. Does 
>> anyone have a test set that can reliably reproduce the problem?

> Unfortunately we can't seem to come up with one.

> It does seem to require a database which is in the many GB (> 10GB), and a 
> situation where a small subset of the data is getting hit repeatedly by 
> multiple processes.

I do not think a large database is actually necessary; the test case
Josh's client has is only hitting a relatively small amount of data.
The trick seems to be to cause lots and lots of ReadBuffer/ReleaseBuffer
activity without much else happening, and to do this from multiple
backends concurrently.

I believe the best way to make this happen is a lot of relatively simple
(but not short) indexscan queries that in aggregate touch just a bit
less than shared_buffers worth of data.  I have not tried to make a
self-contained test case, but based on what I know now I think it should
be possible.

I'll give this a shot later tonight --- it does seem that trying to
reproduce the problem on different kinds of hardware is the next useful
step we can take.

			regards, tom lane