Discourse-Forum hängt und timt aus, lädt nicht

Seit Kurzem kommt es auf unserem Discourse-Forum bei den meisten Anfragen zu Timeouts: https://caddy.community

Als das Problem vor ein paar Tagen begann, wurden keine Updates oder Änderungen vorgenommen. Manchmal lädt es einwandfrei, aber ein paar Minuten später dauert es mehrere Minuten, bis es lädt. (Wenn der obige Link für dich schnell lädt, versuche es in ein paar Minuten erneut. Du kannst es auch mit curl versuchen.)

Wir sind bei DigitalOcean gehostet.

Die Maschinenressourcen sind nicht ausgelastet: Es stehen ausreichend CPU, RAM, Festplattenspeicher und Netzwerk-I/O zur Verfügung.

In den Logs gibt es keine Fehler, und es laufen keine unbekannten Prozesse auf der Maschine. Das System lief etwa drei Jahre lang problemlos, lädt jetzt aber nicht mehr.

Weiß jemand, wie man das Forum schneller zum Laufen bekommt? Wir haben die Maschine neu gestartet, aber das Forum läuft immer noch langsam.

Hey @mholt :wave:,

Ich habe es tatsächlich versucht, zwischen /latest und /categories hin und her zu wechseln, und es ist ziemlich schnell.

Siehst du Verlangsamungen in bestimmten Routen der App?

Außerdem: Ist der MiniProfiler aktiviert?

Bitte folge dieser Anleitung, um ihn zu aktivieren: Long loading times for user summary page with slow database - #6 by Falco

Nachdem du ihn aktiviert hast, wirst du genau wissen, wo die Verlangsamung liegt, sobald sie auftritt.

Huh… verdammt, heute lädt es schneller. :thinking: (Auch andere in unserer Community haben das erlebt, ich weiß, dass ich nicht allein bin, haha – aber es scheint manchmal intermittierend aufzutreten.)

Ich probiere das aus, sobald ich Zeit habe, danke!

Hmm, scheint so, als ob meine ssh-Verbindungen manchmal auch ein Timeout haben.

Ich frage mich, ob DigitalOcean Netzwerkprobleme hat (sie haben bisher nichts gemeldet) – vielleicht muss ich ein Ticket bei DO eröffnen, um das herauszufinden. Es könnte nicht spezifisch für Discourse sein.

Das ist in letzter Zeit wieder aufgetreten: Das Forum braucht mehrere Minuten zum Laden.

Die Ping-Zeiten zum DigitalOcean-Droplet sind normal: ~80 ms. Auch die Serverlast ist normal:

Die Zeiten im Debug-Fenster in der Ecke (MiniProfiler) zeigen keine Probleme auf: Alle Werte liegen bei etwa 300 ms:

(Diese Seite hat etwa 3 Minuten zum Laden gebraucht.)

Gibt es einen Teil des Ladevorgangs zwischen dem Erreichen des Servers und dem Rendern der Seite, der vom MiniProfiler nicht erfasst wird?

Die Zeit, die für Redis aufgewendet wird, wird nicht erfasst und kann das von Ihnen beobachtete Verhalten verursachen. Sie müssen sich auf dem Server umsehen und prüfen, ob Redis Probleme hat, Änderungen auf die Festplatte zu schreiben.

Interessant, hast du Tipps, wie man das macht? Oder einen Link zu einem relevanten Leitfaden? Das liegt außerhalb meiner Kompetenz :sweat_smile:

Oh, lassen Sie mich das hier noch etwas korrigieren. Die Zeit, die für Redis aufgewendet wird, erscheint nicht im aufgeschlüsselten Teil von MiniProfiler, sondern wird in der Gesamtzeit in der ersten Spalte gezählt. Wenn ich also auf Ihren Screenshot schaue, scheint dies nicht der Fall zu sein.

Verzeichnet Caddy die Wartezeit auf das Backend und die insgesamt für jede Anfrage verbrachte Zeit? Gibt es die Möglichkeit, dass der Reverse-Proxy gewartet hat?

Ich werde dies zu den Logs hinzufügen und versuchen, beim nächsten Mal herauszufinden, was passiert.

Könnte es sein, dass das Laden statischer Assets Zeit in Anspruch nimmt? Vielleicht schaust du beim nächsten Mal, wenn das passiert, in die Chrome-Entwicklertools?

Danke für den Hinweis, Sam. Ich habe mir den Netzwerk-Inspektor bereits angesehen und kann mich an nichts wirklich Aufschlussreiches erinnern – aber ich werde ihn beim nächsten Mal genauer prüfen.

Das passiert in der Regel alle paar Tage. Ich melde mich, sobald es wieder auftritt!