Postgres LISTEN/NOTIFY : 60K écritures/sec prouvées

Original : Postgres LISTEN/NOTIFY actually scales

Pourquoi c'est important

Valide Postgres comme infrastructure de streaming durable à grande échelle pour les agents IA.

DBOS a publié le 24 juillet 2026 une analyse technique montrant comment optimiser Postgres LISTEN/NOTIFY pour atteindre 60 000 écritures par seconde sur un seul serveur, avec une latence à l'échelle de la milliseconde, contre 2 900 initialement.

Postgres LISTEN/NOTIFY souffre d'une mauvaise réputation, notamment à cause d'un article populaire affirmant qu'il ne passe pas à l'échelle. L'ingénieur Peter Kraft de DBOS publie une analyse détaillée qui nuance ce jugement : le mécanisme présente des caractéristiques de performance contre-intuitives et non documentées liées à un verrou global exclusif pris lors de chaque appel NOTIFY, mais ce comportement ne signifie pas qu'il est fondamentalement non scalable.

Dans leur implémentation initiale, un trigger sur une table de flux déclenchait une notification à chaque insertion de chunk (par exemple, un token de réponse LLM). Ce système était correct et offrait une faible latence, mais plafonnait à 2 900 écritures/seconde sur une grande instance Postgres — sans saturer aucune ressource visible (CPU, mémoire, IOPS). La cause racine identifiée est le verrou global exclusif que Postgres acquiert lors du commit d'une transaction contenant un NOTIFY. Grâce à des optimisations ciblées sur ce mécanisme, DBOS annonce avoir atteint 60 000 écritures par seconde, soit une multiplication par plus de 20 des performances, tout en conservant la durabilité et la faible latence propres à Postgres.

Source

dbos.dev — Lire l'original →