Redimensionner le serveur, quels paramètres doivent être modifiés ? - unicorn workers, mémoire, etc

TLDR: Existe-t-il un guide ou une liste de configurations recommandées à prendre en compte lors du redimensionnement d’un serveur ?

Lors de l’installation de Discourse pour la première fois sur un serveur, certains paramètres sont automatiquement définis.
L’un des avantages offerts par le cloud est de simplement changer le type d’instance pour un autre avec plus/moins de processeurs et de mémoire.
Autant que je sache, les configurations automatiques ne s’ajustent pas automatiquement au nouveau serveur (il serait utile d’avoir une alerte sur le tableau de bord administrateur indiquant que la configuration de votre Discourse ne semble pas correspondre au matériel sur lequel il fonctionne).

Par exemple, j’ai considéré ces paramètres du fichier app.yml :

## Définir db_shared_buffers à un maximum de 25 % de la mémoire totale.
## sera défini automatiquement par le bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
db_shared_buffers: "4096MB"

## peut améliorer les performances de tri, mais ajoute de la mémoire par connexion
#db_work_mem: "40MB"

## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs de processeur.
## sera défini automatiquement par le bootstrap en fonction des processeurs détectés, ou vous pouvez le remplacer
UNICORN_WORKERS: 4

Cela supposerait que Discourse est la seule chose qui tourne sur le serveur, ce qui n’est pas toujours le cas.

Je spécifie généralement deux unicorn_workers par cœur, et 25 % de la mémoire système comme db_shared_buffers.

3 « J'aime »

Si vous exécutez discourse-setup, il passera aux tailles suggérées. Mais vous regardez les suggestions, donc vous pouvez le faire vous-même.

2 « J'aime »

Bonjour. Il est temps d’augmenter les fonctionnalités du serveur. Afin de modifier les propriétés du processeur et de la RAM du serveur, je dois l’arrêter. Y a-t-il quelque chose d’important que je devrais faire avant de redimensionner le serveur ? Je veux que tout soit en place et fonctionne quand je reviens.

Je téléchargerais une sauvegarde complète et une copie du fichier app.yml au cas où il ne reviendrait pas.

2 « J'aime »

Est-il possible de changer db_share_buffers sans reconstruire ?

cd /var/discourse
./launcher destroy app
./launcher start app