Luke,

> work_mem = 131072               # min 64, size in KB

Incidentally, this is much too high for an OLTP application, although I don't 
think this would have affected the test.

> shared_buffers = 16000          # min 16, at least max_connections*2, 8KB
> each checkpoint_segments = 128       # in logfile segments, min 1, 16MB
> each effective_cache_size = 750000   # typically 8KB each
> fsync=false                     # turns forced synchronization on or off

Try changing:
wal_buffers = 256

and try Bruce's stop full_page_writes patch.

> I guess we see the real culprit here.  Anyone surprised it's the WAL?

Nope.  On high-end OLTP stuff, it's crucial that the WAL have its own 
dedicated disk resource.

Also, running a complex stored procedure for each and every word in each 
e-mail is rather deadly ... with the e-mail traffic our server at Globix 
receives, for example, that would amount to running it about 1,000 times a 
minute.   It would be far better to batch this, somehow, maybe using temp 
tables.

-- 
Josh Berkus
Aglio Database Solutions
San Francisco

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to