Hi Tomas,
We have a lot of small updates and some inserts. The database size is at 35GB including indexes and TOAST. We think it will keep growing to about 200GB. We usually have a burst of about 500k writes in about 5-10 minutes which basically cripples IO on the current servers. I've tried to increase the checkpoint_segments, checkpoint_timeout etc. as recommended in "PostgreSQL 9.0 Performance" book. However, it seems like our server just couldn't handle the current load.
Here is the server specs:
Dual E5620, 32GB RAM, 4x1TB SAS 15k in RAID10
Here are some core PostgreSQL configs:
shared_buffers = 2GB # min 128kB
work_mem = 64MB # min 64kB
maintenance_work_mem = 1GB # min 1MB
wal_buffers = 16MB
checkpoint_segments = 128
checkpoint_timeout = 30min
checkpoint_completion_target = 0.7
Thanks,
Cuong