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)
-- Greg Smith 2ndQuadrant US Baltimore, MD PostgreSQL Training, Services and Support greg@xxxxxxxxxxxxxxx www.2ndQuadrant.us -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance