J’administre une communauté très active qui compte en moyenne 180 000 utilisateurs par jour et je ne peux plus vraiment évoluer verticalement. Nous devons évoluer horizontalement. Avant que cela ne soit mentionné, je ne me soucie pas vraiment de ce qui est « officiellement pris en charge », je me soucie uniquement de ce qui est technologiquement possible.
Actuellement, nous avons une instance Ubuntu exécutant Discourse dans Docker avec les instructions d’installation officielles, le stockage S3 est utilisé ainsi qu’un CDN qui le dessert.
Je prévois de migrer vers un flake NixOS que j’écris. D’après des investigations approfondies sur l’utilisation des ressources, j’ai remarqué que le CPU est principalement limité par PostgreSQL et les workers Unicorn (nous avons optimisé cela pour qu’il soit aussi léger que possible en termes de CPU tout en maintenant les performances. Il y a 16 workers).
La mémoire est également principalement limitée par PostgreSQL et Redis.
Si possible, je souhaite isoler tout cela sur 3 serveurs :
Serveur Frontend Discourse (avec Unicorn)
Serveur Redis
Serveur PostgreSQL
J’ai déjà créé avec succès un serveur Discourse avec PostgreSQL sur un autre serveur, mais je ne suis pas sûr de pouvoir déplacer Redis ailleurs et si cela aurait un sens en termes de performances.
Quelqu’un d’autre exécute-t-il actuellement Discourse de cette manière ?