D’après mon expérience, aucun des approches actuelles ne résout directement ce problème, et il n’existe pas de solution linéaire. En fait, les séparer sur des machines différentes ne constitue pas une solution immédiate à ce problème.
Nous rencontrons également de fortes baisses de performance et des messages du type « le site est extrêmement sollicité, vous êtes affiché comme un utilisateur non connecté » lors d’événements majeurs (comme un jeu, comme l’a mentionné @ljpp), ce qui affecte l’ensemble du site, et pas seulement les personnes présentes dans ce sujet.
J’ai donc essayé deux approches différentes : une configuration séparée et une « grosse machine ». Les deux présentent ce type de problèmes. Mes instances sont surveillées avec Prometheus et les journaux sont visibles sur Grafana, etc., ce qui me donne un contrôle très granulaire sur les performances du matériel et des conteneurs. Je peux donc confirmer que, quoi que vous fassiez, le problème se produit de toute façon.
Si vous placez une grosse machine derrière, vous pouvez peut-être retarder un peu le problème, mais vous finirez par rencontrer des erreurs et des déconnexions de session, et la machine affichera une utilisation presque nulle, que ce soit pour le disque, le processeur ou la mémoire vive. Cela se produit aussi bien avec l’« installation par défaut » qu’avec les installations en « deux conteneurs ».
Avec des machines différentes, le problème reste le même, que les machines soient du même type ou que l’une soit « optimisée CPU » et l’autre « optimisée disque », etc. À cela s’ajoute la couche supplémentaire de risque de défaillance de la connexion entre deux machines distinctes, qui entraînera inévitablement des latences. Bien que cette latence puisse varier selon la manière dont vous configurez la connexion et la « distance » entre les deux machines, vous observerez le même comportement.
À noter que ce type de comportement se produit également avec des éléments comme le plugin Babel. Cependant, il me semble que le plugin Babel peut gérer beaucoup plus d’écritures « simultanées », même si les « chats » sont en réalité des sujets masqués. La différence réside dans la façon dont ils sont présentés et « actualisés »/« récupérés ». Cette différence de comportement m’a conduit à la conclusion qu’il s’agit d’une corrélation applicative découlant d’un problème côté FrontEnd « faisant planter » l’application (le FrontEnd n’étant pas mon domaine d’expertise, contrairement au BackEnd), combiné aux opérations en cours lors des publications et du fait que les utilisateurs restent sur un sujet en attendant qu’il se « mette à jour tout seul » avec des dizaines de messages en une seule minute.
À cela s’ajoute le facteur humain : lorsque les utilisateurs perçoivent le site comme « lent » ou qu’un sujet « ne se met pas à jour aussi vite qu’il le devrait », ils rafraîchissent la page à outrance (F5), ce qui ajoute encore plus de charge. Mais bonne chance pour les « éduquer » à ce sujet 