Re: Optimize LISTEN/NOTIFY

Поиск
Список
Период
Сортировка
Искать
От
Joel Jacobson
Тема
Re: Optimize LISTEN/NOTIFY
Дата
Msg-id
4bd5e6c4-6fa7-44bb-869d-59a32a331fa8@app.fastmail.com
Ответ на
Список
Дерево обсуждения
Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Rishu Bagga <rishu.postgres@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Thomas Munro <thomas.munro@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Matheus Alcantara <matheusssilv97@gmail.com>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Matheus Alcantara" <matheusssilv97@gmail.com>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Matheus Alcantara" <matheusssilv97@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY Alexander Lakhin <exclusion@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Tom Lane <tgl@sss.pgh.pa.us>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY Chao Li <li.evan.chao@gmail.com>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
Re: Optimize LISTEN/NOTIFY "Joel Jacobson" <joel@compiler.org>
On Thu, Oct 2, 2025, at 18:39, Tom Lane wrote:
> I don't understand why you feel you need a bgworker.  The existing
> code does not have any provision that guarantees a lost signal will
> eventually be re-sent --- it will be if there is continuing NOTIFY
> traffic, but not if all the senders suddenly go quiet.  AFAIR
> we've had zero complaints about that in 25+ years.  So I'm perfectly
> content to continue the approach of "check for laggards during
> NOTIFY".  (This could be gated behind an overall check on how long the
> notify queue is, so that we don't expend the cycles when things are
> performing as-expected.)  If you feel that that's not robust enough,
> you should split it out as a separate patch that's advertised as a
> robustness improvement not a performance improvement, and see if you
> can get anyone to bite.

Good point. I agree it's better to check for laggards during NOTIFY.

> The other thing I'm concerned about with this patch is the new shared
> hash table.  I don't think we have anywhere near a good enough fix on
> how big it needs to be, and that is problematic because of the
> frozen-at-startup size of main shared memory.  We could imagine
> inventing YA GUC to let the user tell us how big to make it,
> but I think there is now a better way: use a dshash table
> (src/backend/lib/dshash.c).  That offers the additional win that we
> don't have to create it at all in an installation that never uses
> LISTEN/NOTIFY.  We could also rethink whether we really need the
> NOTIFY_MULTICAST_THRESHOLD limit: rather than having two code paths,
> we could just say that all listeners are registered for every channel.

Thanks for guidance, I didn't know about dshash.

The patch is now using dshash. I've been looking at code in launcher.c
when implementing it. The function init_channel_hash() ended up being
very similar to launcher.c's logicalrep_launcher_attach_dshmem().

/Joel
В списке pgsql-hackers по дате отправления
От: Euler Taveira
Дата:
От: Masahiko Sawada
Дата:
FAQ