Hello dear list members,
I have strange problem with my new 8.4 deployment, which I never
encountered on previous 8.3 deployment.
IOwait values are extremely high exactly when Postgres finishes a checkpoint.
During the checkpoint itself (which is quite lengthy) IOwait is very low.
Why does this happen and how to fix it?
Take a look at this chart:
http://kpox.s3.amazonaws.com/cpu-day.png
The lates (rightest) IOwait peak corresponds to this log entry:
2010-01-08 18:40:36 CET LOG: checkpoint complete: wrote 46357 buffers
(35.4%); 0 transaction log file(s) added, 0 removed, 40 recycled;
write=2502.800 s, sync=79.972 s, total=2583.184 s
IOwait peak starts about 18:39:30 and finishes at 18:40:30.
I think all the IOwait comes during sync time, which is 80 s,
according to the log entry.
Config details that might be related to the problem:
bgwriter_lru_maxpages = 0 # BG writer is off
checkpoint_segments = 45
checkpoint_timeout = 60min
checkpoint_completion_target = 0.9
I had mostly the same config with my 8.3 deployment.
But hardware is different:
Disk is software RAID-5 with 3 hard drives.
Operating system is Ubuntu 9.10 Server x64.
Thanks.
Anton.