Le forum Discourse se fige et expiré, ne charge pas

Depuis peu, notre forum Discourse commence à expirer sur la plupart des requêtes : https://caddy.community

Aucune mise à jour ou modification n’a été effectuée lorsque le problème a commencé il y a quelques jours. Parfois, il se charge correctement, mais quelques minutes plus tard, il faut plusieurs minutes pour qu’il se charge. (Si le lien ci-dessus se charge rapidement pour vous, réessayez quelques minutes plus tard. Vous pouvez également essayer avec curl.)

Nous sommes hébergés sur DigitalOcean.

Les ressources de la machine ne sont pas saturées : il y a suffisamment de CPU, de RAM, d’espace disque et d’E/S réseau disponibles.

Il n’y a aucune erreur dans les journaux, et aucun processus inconnu n’est en cours d’exécution sur la machine. Elle fonctionnait correctement depuis environ 3 ans, mais maintenant elle ne se charge plus.

Quelqu’un sait comment rendre le forum plus rapide ? Nous avons redémarré la machine, mais le forum fonctionne toujours lentement.

Salut @mholt :wave:,

J’ai essayé de basculer entre /latest et /categories et c’est assez rapide.

Observes-tu des ralentissements sur des routes spécifiques de l’application ?

De plus, as-tu activé MiniProfiler ?

Suis ce guide pour l’activer : Long loading times for user summary page with slow database - #6 by Falco

Une fois activé, lorsque tu rencontreras un ralentissement, tu sauras exactement où il se situe.

Huh… zut, ça charge plus vite aujourd’hui. :thinking: (D’autres membres de notre communauté ont aussi rencontré ce problème, je sais que ce n’est pas que moi, haha — mais ça semble être intermittent.)

Je testerai ça quand j’aurai un moment, merci !

Hmm, il semble que mes connexions ssh se terminent aussi parfois par un délai d’attente.

Je me demande si DigitalOcean rencontre des problèmes de réseau (bien qu’ils n’aient rien signalé) — peut-être devrai-je ouvrir un ticket auprès de DO pour en savoir plus. Cela pourrait ne pas être spécifique à Discourse.

Cela recommence à se produire récemment : il faut plusieurs minutes pour que le forum se charge.

Les temps de ping vers le droplet DigitalOcean sont normaux : environ 80 ms. La charge du serveur est également normale :

Les délais indiqués dans l’outil de débogage en coin (MiniProfiler) ne révèlent aucun problème : tous les temps sont inférieurs à environ 300 ms :

(Cette page a pris environ 3 minutes à se charger.)

Y a-t-il une étape du processus de chargement, entre l’atteinte du serveur et le rendu de la page, qui n’est pas prise en compte par le MiniProfiler ?

Le temps passé sur Redis n’est pas comptabilisé et peut causer ce que vous observez. Vous devrez examiner le serveur et vérifier si Redis rencontre des difficultés pour persister les modifications sur le disque.

C’est intéressant, avez-vous des conseils pour le faire ? Ou un lien vers un guide pertinent ? Cela dépasse mon niveau de compétence :sweat_smile:

Oh, laissez-moi me corriger un peu ici. Le temps passé sur Redis ne figurera pas dans la section détaillée de MiniProfiler, mais sera comptabilisé dans le temps global de la première colonne. Donc, en regardant votre capture d’écran, ce n’est apparemment pas le cas.

Est-ce que les journaux de Caddy enregistrent le temps d’attente sur le backend et le temps total passé sur chaque requête ? Y a-t-il une possibilité que le proxy inverse ait été en attente ?

Je vais ajouter cela aux journaux et essayer de le vérifier la prochaine fois que cela se produira.

Est-ce le temps nécessaire pour récupérer les ressources statiques ? Peut-être pourriez-vous jeter un coup d’œil dans les outils de développement de Chrome la prochaine fois que cela se produit ?

Merci pour l’idée, Sam. J’ai déjà regardé l’inspecteur réseau et je ne me souviens de rien de très révélateur, mais je le vérifierai plus en détail la prochaine fois.

Cela a tendance à se produire tous les quelques jours. Je te tiendrai au courant quand cela se produira !