Après avoir découvert la sortie de la version 3.3.0-beta1, j’ai immédiatement mis à jour mon instance Discourse depuis l’interface web.
Cependant, pendant le processus de mise à jour, les journaux de l’interface web se sont bloqués pendant plus de quinze minutes sans aucune autre sortie (je me souviens que la dernière sortie était une série d’ellipses croissantes ? C’est possible, je ne suis pas tout à fait sûr). Environ 2 heures plus tard, j’ai vérifié l’état du serveur depuis la plateforme cloud et j’ai suspecté qu’il s’était figé, j’ai donc effectué un redémarrage logiciel depuis la plateforme cloud.
Après le redémarrage, j’ai rapidement exécuté une sauvegarde Discourse depuis la ligne de commande, téléchargé la sauvegarde et le fichier app.yml localement, puis j’ai complètement réinstallé Discourse (bien sûr, la dernière version). Ensuite, j’ai téléchargé la sauvegarde et lancé le processus de restauration depuis la ligne de commande.
La restauration a réussi, mais mon instance Discourse rencontre maintenant de graves problèmes de performance. Auparavant, l’utilisation du processeur en usage normal ne dépassait pas 10 %, mais maintenant elle atteint environ 30 % même pendant les heures creuses, et les lectures disque sont également relativement élevées. Pire encore, le serveur plante parfois inexplicablement, avec des lectures disque atteignant environ 1900 par seconde (c’est la limite de mon serveur cloud), et le processeur étant à plus de 40 % en état d’attente. Les pages web ne se chargent pas, affichant des délais de connexion dépassés. Pour le moment, j’exécute vmstat et top, mais malheureusement, je n’ai pas conservé la sortie. Je me souviens que l’IO swap était presque nulle, indiquant purement des lectures disque. Le nombre de threads bloqués dépassait 100.
Je suspecte que cette mise à jour échouée a pu causer des dommages, potentiellement aux données dans la sauvegarde, plutôt qu’au logiciel lui-même. Y a-t-il un moyen de – euh, je ne suis pas sûr ? – rafraîchir ou supprimer un cache ou des opérations similaires ? Ou peut-être… relancer la mise à jour ? (Après tout, les mises à jour Discourse sont assez fréquentes, et on peut mettre à jour presque à tout moment.)
En guise de solution temporaire, j’ai installé un logiciel de surveillance (watchdog) pour redémarrer automatiquement en cas de forte charge. Cependant, ce n’est pas une solution à long terme, et je n’ai pas trouvé de problèmes similaires ici ; il est évident que ce n’est pas un problème avec le logiciel Discourse lui-même. Je me demande comment résoudre ce problème.
Si vous avez besoin que j’exécute des commandes sur le serveur pour vérifier son état pendant les fortes charges, n’hésitez pas à demander. Je ferai de mon mieux pour maintenir ma connexion SSH et obtenir ces données sans redémarrer.




