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
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster