Re: Analyse without locking?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear All,

I'm still puzzled by this one - it looks like it's causing about 5% of queries to rise in duration from ~300ms to 2-6 seconds.

On the other hand, the system never seems to be I/O bound. (we have at least 25 MB/sec of write bandwidth, and use a small fraction of that normally).

Here's the typical checkpoint logs:

2009-12-03 06:21:21 GMT LOG: checkpoint complete: wrote 12400 buffers (2.2%); 0 transaction log file(s) added, 0 removed, 12 recycled; write=149.883 s, sync=5.143 s, total=155.040 s

We're using 8.4.1, on ext4 with SSD. Is it possible that something exotic is occurring to do with write barriers (on by default in ext4, and we haven't changed this).

Perhaps a low priority IO process for writing the previous WAL to disk is blocking a high-priority transaction (which is trying to write to the new WAL). If the latter is trying to sync, could the large amount of lower priority IO be getting in the way thanks to write barriers?

If so, can I safely turn off write barriers?

Thanks,

Richard


P.S. Should I rename this thread?




Richard Neill wrote:
Dear All,

It definitely looks checkpoint-related - the checkpoint timeout is set to 5 minutes, and here is a graph of our response time (in ms) over a 1 hour period. The query is pretty much identical each time.

Any ideas what I could do to make checkpoints not hurt performance like this?

Thanks,

Richard



Tom Lane wrote:
Richard Neill <rn214@xxxxxxxxx> writes:
Now, I understand that increasing checkpoint_segments is generally a good thing (subject to some limit), but doesn't that just mean that instead of say a 1 second outage every minute, it's a 10 second outage every 10 minutes?

In recent PG versions you can spread the checkpoint I/O out over a
period of time, so it shouldn't be an "outage" at all, just background
load.  Other things being equal, a longer checkpoint cycle is better
since it improves the odds of being able to coalesce multiple changes
to the same page into a single write.  The limiting factor is your
threshold of pain on how much WAL-replay work would be needed to recover
after a crash.


------------------------------------------------------------------------


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux