Tom,
> Obviously we'd be willing to do this work if there were convincing
> evidence it'd be worth the time. A benchmark showing performance
> continuing to climb with increasing shared_buffers right up to the 2Gb
> limit would be reasonably convincing. I think there is 0 chance of
> drawing such a graph with a pre-8.1 server, because of internal
> inefficiencies in the buffer manager ... but with CVS tip the story
> might be different.
Not that I've seen in testing so far. Your improvements have, fortunately,
eliminated the penalty for allocating too much shared buffers as far as I can
tell (at least, allocating 70,000 when gains stopped at 15,000 doesn't seem
to carry a penalty), but I don't see any progressive gain with increased
buffers above the initial ideal. In fact, with clock-sweep the shared_buffer
curve is refreshingly flat once it reaches the required level, which will
take a lot of the guesswork out of allocating buffers.
Regarding 2GB memory allocation, though, we *could* really use support for
work_mem and maintenance_mem of > 2GB.
--
Josh Berkus
Aglio Database Solutions
San Francisco