LISTEN/NOTIFY benchmarks?

From: prashanth(at)jibenetworks(dot)com
To: pgsql-hackers(at)postgresql(dot)org
Subject: LISTEN/NOTIFY benchmarks?
Date: 2003-04-29 01:14:39
Message-ID: 20030429011439.GA1692@prashanth.jibenetworks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Hi,

I'm looking for information on the scalabality of the LISTEN/NOTIFY
mechanism. How well does it scale with respect to:

- hundreds of clients registered for LISTENs

I guess this translates to hundreds of the corresponding backend
processes receiving SIG_USR2 signals. The efficiency of this is
probably OS-dependent. Would anyone be in a position to give me
signal delivery benchmarks for FreeBSD on Unix?

- each client registered for thousands of LISTENs

From a look at backend/commands/async.c, it would seem that each
listening backend would get a signal for *every* LISTEN it
registered for, resulting in thousands of signals to the same
listening backend, instead of only one. Would it help if this was
optimized so that a signal was sent only once? Again, info on
relevant signal delivery benchmarks would be useful.

I'm not an expert on signals, not even a novice, so I might be totally
off base, but it seems like the Async Notification implementation does
not scale. If it does not, does anyone have a solution for the
problem of signalling a each event in a possibly very large set of
events to a large number of clients?

Thanks,

--prashanth

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2003-04-29 01:17:24 Re: How about an am_superuser GUC parameter (non-settable)?
Previous Message Teodor Sigaev 2003-04-28 15:48:08 Please, apply patch for current CVS