Quelle quantité de RAM est nécessaire pour Discourse ?

Bonjour,

J’ai récemment installé Discourse sur mon propre VPS. Je ne dispose que de 2 Go de RAM. Est-ce suffisant pour faire tourner un forum en production ? J’ai déjà rencontré des erreurs de passerelle 502, peut-être dues à un manque de mémoire. Parfois, après l’installation d’un plugin, je dois rafraîchir plusieurs fois mon panneau d’administration.

D’autres discussions indiquent que 1 Go de RAM suffit, mais qu’est-ce qui est réaliste ? J’utilise la dernière image Docker de Bitnami. Certains affirment que Sidekiq peut consommer jusqu’à 4 Go de RAM : https://github.com/bitnami/bitnami-docker-discourse/issues/150

Vous pouvez facilement exécuter Discourse sur un VPS avec 2 Go de RAM. Vous voudrez peut-être envisager de configurer un espace d’échange si vous ne l’avez pas déjà fait. L’exécution de ./discourse-setup le fera pour vous.

J’ai initialement configuré l’espace d’échange, mais si j’utilise la mémoire d’échange, cela la ralentit considérablement. Par défaut, je ne voulais donc pas le faire.

Notre configuration par défaut ne doit utiliser le fichier d’échange que sous pression, par exemple lors de mises à jour du site web.

Si vous hébergez une grande communauté et commencez à constater des temps de réponse lents de l’API Discourse, vous pouvez augmenter la capacité CPU/RAM de votre serveur et relancer ./discourse-setup pour qu’il utilise les ressources accrues.

Il s’agit d’une nouvelle communauté ou avez-vous importé une grande base de données ? Quel volume de trafic prévoyez-vous ? La vitesse du processeur mono-cœur ainsi que la présence d’un SSD pour le stockage sont critiques.

Je n’ai importé aucune base de données. Il s’agit d’un forum vierge avec 0 publications. Pour le moment, le seul trafic provient de moi-même. Cependant, je m’attends à un trafic pouvant atteindre 1000 visiteurs par jour.

Oh. Ne faites pas ça. Ou demandez-leur pourquoi vos performances sont médiocres.

Voir : Installation standard officielle de Discourse

Je suis curieux de savoir pourquoi vous déconseillez l’utilisation de l’image Bitnami ? (Je suppose que @AntiMetaman fait référence à leurs nouveaux charts Helm ici.

Mais ils ont également un nouveau chart Helm ici.

Nous, l’équipe qui développe Discourse, ne le testons que par rapport à notre propre image de base. Les installations qui ne suivent pas Install Discourse in production with the official supported instructions peuvent subir des dysfonctionnements subtils à tout moment, et nous ne fournirons aucun support pour cela.

Juste pour information, et pour offrir un point de vue différent @AntiMetaman

Bien que Discourse puisse s’exécuter sur un VPS avec peu de RAM, la construction et la reconstruction de Discourse seront assez lentes par rapport à une machine disposant de plus de RAM. Personnellement, je ne lancerais pas une application Discourse « vraiment » de production avec 2 Go de RAM, mais cela ne concerne que moi.

À titre d’information (ce n’est que mon opinion), j’ai installé Discourse sur des machines avec 1 Go, 2 Go, 8 Go, 32 Go et 64 Go de RAM, à la fois sur des VPS et des serveurs dédiés, et honnêtement, j’aime construire Discourse sur mes machines de 64 Go et 32 Go. C’est tellement rapide de construire sur 64 Go :). La reconstruction est fulgurante et l’exécution est excellente, lisse comme du beurre sur du toast chaud. Donc, je préfère exécuter Discourse sur des machines « plus grandes » (plus de RAM, plus d’espace disque) avec d’autres applications plutôt que de l’exécuter en mode autonome sur de très petites partitions avec un minimum de RAM.

Cependant, cela repose sur mon expérience personnelle avec Discourse et Docker, ainsi que sur mes préférences. J’aime que Discourse se reconstruise rapidement et dispose de suffisamment de « marge de manœuvre » en production, et 2 Go ne répond pas à mes exigences en matière de vitesse de construction.

Discourse recommande 1 Go comme minimum. J’ai installé des instances de cette manière et elles deviennent rapidement lentes ; je vous conseillerais donc de passer à 2 Go.

Ces 2 Go durent très longtemps. Je gère actuellement une communauté avec environ 3 500 visites par jour (sans les robots d’indexation) et 20 à 30 publications par jour. Je n’ai rencontré aucun problème avec les 2 Go de RAM et je n’ai constaté aucun ralentissement.

Je suis presque certain, @AntiMetaman, que votre problème vient de l’image Bitnami et non des ressources. Assurez-vous que votre CPU est suffisamment rapide et, si possible, attribuez-lui un deuxième CPU (je n’utilise que 1 vCPU et cela suffit).

L’image Bitnami utilise toujours la version stable 2.4.4. La seule raison pour laquelle j’ai choisi Bitnami est qu’elle proposait un fichier docker-compose.yml standard, ce qui a rendu le processus d’installation plus simple. Certaines personnes qui ont essayé de passer à la version 2.6.0 beta 1 en utilisant l’image officielle de Discourse ont échoué. Je vais essayer l’image officielle de Discourse et voir comment cela se passe.

Bonne idée, mais les packages tiers, comme ceux de Bitnami, ne bénéficient d’aucun support ici.

Comme vous l’avez déjà noté, ils sont également assez obsolètes.

Salut @Falco - veux-tu dire d’exécuter cette commande dans la console ou est-ce que l’exécution de l’assistant d’installation est suffisante www.mysite.com/wizard ?

Ce sont en fait deux choses différentes. :slight_smile:

Le /wizard est destiné à l’interface utilisateur et aux paramètres d’administration pour configurer votre site après l’installation, et est accessible via votre site/navigateur.

discourse-setup fait partie du processus d’installation lui-même qui (en partie) alloue des ressources serveur, et est exécuté depuis le serveur.

Vous pouvez réexécuter discourse-setup plusieurs fois et il n’écrasera aucune de vos données de site.

Merci pour la clarification @JammyDodger, j’apprécie beaucoup.

Mon site devenait assez lent, j’ai donc ajouté plus de RAM au serveur, il semble qu’il fonctionne beaucoup mieux maintenant avec une allocation de 2048 Mo de buffers partagés, contre 128 Mo auparavant.

J’éditais le fichier app.yml manuellement auparavant et je téléchargeais via SFTP, et je viens de remarquer un avertissement de permissions lorsque j’ai reconstruit l’application tout à l’heure, à quoi le fichier app.yml devrait-il être défini ?

644 ou 600. Je pense que le message auquel vous faites référence vous indique ce que cela devrait être.

Merci @pfaffman !