Skip site navigation (1) Skip section navigation (2)

Re: deadlock_timeout affect on performance

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: pg noob <pgnube(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: deadlock_timeout affect on performance
Date: 2012-10-02 08:11:40
Message-ID: 506AA1BC.1070305@vmware.com (view raw or flat)
Thread:
Lists: pgsql-performance
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


In response to

pgsql-performance by date

Next:From: Glyn AstillDate: 2012-10-02 08:20:51
Subject: Re: hardware advice
Previous:From: Craig RingerDate: 2012-10-02 04:54:38
Subject: Re: A Tale of 2 algorithms

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group