Date: Tue, 10 Apr 2007 15:45:08 -0400 From: Kris Kennaway <kris@obsecurity.org> To: Tom Lane <tgl@sss.pgh.pa.us> Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, performance@FreeBSD.org, current@FreeBSD.org, Mark Kirkwood <markir@paradise.net.nz>, Kris Kennaway <kris@obsecurity.org> Subject: Re: [HACKERS] Anyone interested in improving postgresql scaling? Message-ID: <20070410194508.GA73072@xor.obsecurity.org> In-Reply-To: <28537.1176230816@sss.pgh.pa.us> References: <20070226002234.GA80974@xor.obsecurity.org> <461B69C0.4060707@paradise.net.nz> <25573.1176215022@sss.pgh.pa.us> <20070410184332.GC44123@xor.obsecurity.org> <28537.1176230816@sss.pgh.pa.us>
next in thread | previous in thread | raw e-mail | index | archive | help
--FL5UXtIhxfXey3p5 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 10, 2007 at 02:46:56PM -0400, Tom Lane wrote: > Kris Kennaway <kris@obsecurity.org> writes: > >>> Make SYSV semaphores less dumb about process wakeups. Currently > >>> whenever the semaphore state changes, all processes sleeping on the > >>> semaphore are woken, even if we only have released enough resources > >>> for one waiting process to claim. >=20 > >> Correct. The behavior Kris describes is surely bad, but it's not > >> relevant to Postgres' usage of SysV semaphores. >=20 > > Sorry, but the behaviour is real. >=20 > Oh, I'm sure the BSD kernel acts as you describe. But Mark's point is > that Postgres never has more than one process waiting on any particular > SysV semaphore, and so the problem doesn't really affect us. >=20 > Or do you mean that the kernel wakes all processes sleeping on *any* > SysV semaphore? That would be nasty :-( To be clear, some behaviour that postgresql does with sysv semaphores causes wakeups of many processes at once. i.e. if you have 20 clients, you will get up to 20 wakeups. I haven't studied the precise cause of this, but it is empirically true. This is the scaling problem I described, and it's what mux's patch addresses. Kris --FL5UXtIhxfXey3p5 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGG+lEWry0BWjoQKURAoFLAJ43YXRWteFzSq6h203IAD91EMuKCgCfTOFV tacaoES8XR0lq1tH7qtwUN4= =bTF6 -----END PGP SIGNATURE----- --FL5UXtIhxfXey3p5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070410194508.GA73072>