Thread: deadlock_timeout affect on performance
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.
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