On Thu, 2004-12-09 at 21:21, Mark Wong wrote:
> On Mon, Dec 06, 2004 at 07:52:37PM +0000, Simon Riggs wrote:
> > Varying bgwriter_maxpages upwards should take performance higher.
> >
>
> I have 2 runs now. I for both tests, I have bgwriter_percent=100,
> checkpoint_segments=8192, checkpoint_timout=600,
> debug_shared_buffers=10, log_min_messages=debug1 and varied
> bgwriter_maxpages.
>
> http://www.osdl.org/projects/dbt2dev/results/dev4-010/206/
> bgwriter_maxpages=100 (default)
> throughput 3816.51
>
> http://www.osdl.org/projects/dbt2dev/results/dev4-010/207/
> bgwriter_maxpages=1000
> throughput 3865.50
>
>
> Another 1% change in overall throughput. I did catch in the oprofile
> output that StrategyDirtyBufferList moved down the list a bit when I
> increased bgwriter_maxpages.
Checkpointing is occurring more frequently than it should be on these
tests. With a setting of checkpoint_segments = 8192 and
checkpoint_timeout = 600, it was expected to see checkpoints occurring
every 10 minutes. This is not the case - checkpoints occur every 6m 15s
(ish).
That seems to reveal possible problems with the Checkpoint code:
1. The checkpoint seems to be limited to recycling 255 files at every
checkpoint. That would correspond to a maximum checkpoint_segments value
of 511, though the setting for the run was 8192. (guc.c shows the max
value is INT_MAX and all other fields used to manipulate the value at C
int, so I can't see why this should be...)....bug?
2. There is at least one case where a checkpoint started *immediately*
after a checkpoint completed, i.e. less than 1 second between one ending
and another starting. That seems very wrong....bug?
http://www.osdl.org/projects/dbt2dev/results/dev4-010/207/db/log
2004-12-07 12:51:52
...or was that a manual checkpoint?
--
Best Regards, Simon Riggs