On Mon, Aug 16, 2010 at 04:13:22PM -0400, Greg Smith wrote: > Andres Freund wrote: > >Or use -o sync. Or configure a ridiciuosly low dirty_memory amount > >(which has a problem on large systems because 1% can still be too > >much. Argh.)... > > -o sync completely trashes performance, and trying to set the > dirty_ratio values to even 1% doesn't really work due to things like > the "congestion avoidance" code in the kernel. If you sync a lot > more often, which putting the WAL on the same disk as the database > accidentally does for you, that works surprisingly well at avoiding > this whole class of problem on ext3. A really good solution is > going to take a full rewrite of the PostgreSQL checkpoint logic > though, which will get sorted out during 9.1 development. (cue > dramatic foreshadowing music here) -o sync works ok enough for the data partition (surely not the wal) if you make the background writer less aggressive. But yes. A new checkpointing logic + a new syncing logic (prepare_fsync() earlier and then fsync() later) would be a nice thing. Do you plan to work on that? Andres -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance