Обсуждение: deadlock_timeout affect on performance

Поиск
Список
Период
Сортировка

deadlock_timeout affect on performance

От
pg noob
Дата:

Hi all,

I have a question about the deadlock_timeout in regards to performance.
Right now we have this timeout set at its default of 1s.
My understanding of it is that this means that every 1 second the server will check for deadlocks.
What I am wondering is how much of a performance improvement we would expect to get if this was raised to 30 seconds?
Is it negligible or could it be a substantial performance improvement on a busy system?
We very rarely have deadlocks and waiting 30 seconds to discover one doesn't seem too bad.

Thank you.

Re: deadlock_timeout affect on performance

От
Heikki Linnakangas
Дата:
On 01.10.2012 19:49, pg noob wrote:
> Hi all,
>
> I have a question about the deadlock_timeout in regards to performance.
> Right now we have this timeout set at its default of 1s.
> My understanding of it is that this means that every 1 second the server
> will check for deadlocks.

Not quite. It means that when a backend gets blocked, waiting on a lock,
it will check for deadlocks after waiting for 1 second. When no backend
is waiting for a lock, there are no deadlock checks regardless of
deadlock_timeout.

> What I am wondering is how much of a performance improvement we would
> expect to get if this was raised to 30 seconds?
> Is it negligible or could it be a substantial performance improvement on a
> busy system?
> We very rarely have deadlocks and waiting 30 seconds to discover one
> doesn't seem too bad.

It's almost certainly negligible. If you regularly have deadlocks, it
might even better for performance to make the timeout shorter than 1 s,
so that deadlocks are detected earlier, and backends will spend less
time deadlocked, and more time doing real work. Although I doubt it will
make any meaningful difference either way.

- Heikki