Re: Spinlock performance improvement proposal
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Neil Padgett <npadgett@redhat.com>
Cc: pgsql-hackers@postgresql.org
Date: 2001-09-26T21:17:12Z
Lists: pgsql-hackers
Neil Padgett <npadgett@redhat.com> writes: > Well. Currently the runs are the typical pg_bench runs. With what parameters? If you don't initialize the pg_bench database with "scale" proportional to the number of clients you intend to use, then you'll naturally get huge lock contention. For example, if you use scale=1, there's only one "branch" in the database. Since every transaction wants to update the branch's balance, every transaction has to write-lock that single row, and so everybody serializes on that one lock. Under these conditions it's not surprising to see lots of lock waits and lots of useless runs of the deadlock detector ... regards, tom lane