Re: Analyse without locking?

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

 



On Thursday 26 November 2009 17:20:35 Richard Neill wrote:
> Dear All,
> 
> I'm wondering whether Vacuum/analyse (notably by the autovaccuum daemon)
> is responsible for some deadlocks/dropouts I'm seeing.
> 
> One particular table gets hit about 5 times a second (for single row
> updates and inserts) + associated index changes. This is a very light
> load for the hardware; we have 7 CPU cores idling, and very little disk
> activity. The query normally runs in about 20 ms.
> 
> However, the query must always respond within 200ms, or userspace gets
> nasty errors.  [we're routing books on a sorter machine, and the book
> misses its exit opportunity]. Although this is a low load, it's a bit
> like a heartbeat.
> 
> The question is, could the autovacuum daemon (running either in vacuum
> or in analyse mode) be taking out locks on this table that sometimes
> cause the query response time to go way up (exceeding 10 seconds)?
> 
> I think I've set up autovacuum to do "little and often", using
>    autovacuum_vacuum_cost_delay = 20ms
>    autovacuum_vacuum_cost_limit = 20
> but I'm not sure this is doing exactly what I think it is. In
> particular, the system-wide I/O (and CPU) limit of autovacuum is
> negligible, but it's possible that queries may be waiting on locks.
> 
> In particular, I want to make sure that the autovacuum daemon never
> holds any lock for more than about 50ms at a time. (or will release it
> immediately if something else wants it)
> 
> Or am I barking up the wrong tree entirely?
I would suggest enabling log_log_wait and setting deadlock_timeout to a low 
value - should give you more information.

Andres

-- 
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