Re: Analyse without locking?
От | Tom Lane |
---|---|
Тема | Re: Analyse without locking? |
Дата | |
Msg-id | 3165.1259252805@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Analyse without locking? (Richard Neill <rn214@cam.ac.uk>) |
Список | pgsql-performance |
Richard Neill <rn214@cam.ac.uk> writes: > 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)? Hmm. Autovacuum does sometimes take an exclusive lock. It is supposed to release it "on demand" but if I recall the details correctly, that could involve a delay of about deadlock_timeout, or 1s by default. It would be reasonable to reduce deadlock_timeout to 100ms to ensure your external constraint is met. Delays of up to 10s would not be explained by that though. Do you have usage spikes of other types? I wonder in particular if you've got checkpoints smoothed out enough. regards, tom lane
В списке pgsql-performance по дате отправления: