Thanks, will try that. I'll report on the progress later, I have some unit tests to set up first but as soon as that is done I'll go back to optimizing insert performance.
Regards, Mikael. -----Original Message----- From: Jim C. Nasby [mailto:[EMAIL PROTECTED] Sent: den 22 mars 2006 13:55 To: Mikael Carneholm Cc: Simon Riggs; pgsql-performance@postgresql.org Subject: Re: [PERFORM] Migration study, step 1: bulk write performanceoptimization On Wed, Mar 22, 2006 at 10:04:49AM +0100, Mikael Carneholm wrote: > It does ("LOG: checkpoints are occurring too frequently (2 seconds apart)") > However, I tried increasing checkpoint_segments to 32 (512Mb) making it > checkpoint every 15 second or so, but that gave a more uneven insert rate > than with checkpoint_segments=3. Maybe 64 segments (1024Mb) would be a better > value? If I set checkpoint_segments to 64, what would a reasonable bgwriter > setup be? I still need to improve my understanding of the relations between > checkpoint_segments <-> shared_buffers <-> bgwriter... :/ Probably the easiest way is to set checkpoint_segments to something like 128 or 256 (or possibly higher), and then make bg_writer more aggressive by increasing bgwriter_*_maxpages dramatically (maybe start with 200). You might want to up lru_percent as well, otherwise it will take a minimum of 20 seconds to fully scan. Basically, slowly start increasing settings until performance smooths out. -- Jim C. Nasby, Sr. Engineering Consultant [EMAIL PROTECTED] Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match