Meine Discourse-Installation wird in den letzten Wochen immer langsamer. In der Vergangenheit hat das Neuerstellen der App geholfen, wenn dies geschah. Jetzt scheint es jedoch nicht zu helfen.
Ich habe in diesem Forum nach Ratschlägen gesucht und einige Datenbankoptimierungen ausprobiert (vacuum full verbose, rebuild index, vacuum analyze verbose).
Nichts davon scheint jedoch zu helfen, und wenn ich den Container starte, dauert es sehr, sehr lange, bis ich tatsächlich auf das Forum zugreifen kann.
Wenn dies so weitergeht, wird das Forum schließlich völlig unbrauchbar werden. Irgendwelche Ideen, wo ich anfangen kann zu suchen?
Das Speichern eines Beitrags scheint besonders anfällig für Timeouts und Fehler zu sein.
Ich bin mir nicht sicher, ob das ein Hinweis darauf ist, was vor sich geht.
Die vmstat-Ausgabe sagt uns, dass – wie die Dinge stehen – nicht genügend RAM vorhanden ist.
Es könnte sein, dass Discourse wie vorgesehen funktioniert und alles in Ordnung ist, aber dass Ihre Daten so stark gewachsen sind, dass 4 GB RAM nicht ausreichen.
Oder es könnte sein, dass etwas schief gelaufen ist und viel RAM verwendet wird, der nicht verwendet werden sollte.
Ein Maß für die Größe ist, ein Backup ohne Anhänge zu erstellen und zu sehen, wie groß dieses ist.
Es könnte sein, dass der Mini-Profiler einen Hinweis darauf gibt, welche Datenbankaktionen so lange dauern.
Wenn Sie das Budget haben, den RAM zu verdoppeln, tun Sie das. (Wenn Sie darauf achten, den RAM zu erhöhen, aber den Speicher unverändert lassen, falls Sie eine solche Option von Ihrem Anbieter haben, kann dies eine umkehrbare und sogar eine vorübergehende Änderung sein.)
Wenn Sie sich keinen zusätzlichen RAM leisten können, können Sie versuchen, niedrigere Werte für db_shared_buffers (z. B. 128 MB oder weniger) festzulegen und UNICORN_WORKERS vorerst auf nur 2 zu beschränken, da Sie das Swapping so schnell wie möglich stoppen müssen.
Mehr RAM ist bei meinem Hosting-Anbieter ziemlich teuer, daher werde ich zuerst andere Optionen prüfen. (Und ich mache mir Sorgen, dass eine Änderung meine bestehenden Preise brechen könnte…)
Ich habe db_shared_buffers auf 128 MB und UNICORN_WORKERS auf 2 geändert.
Reicht launcher app stop / start aus, damit diese Einstellungen wirksam werden?
Was ist der Mini-Profiler und wie benutze ich ihn?
Mit Alt+P auf Ihrer Tastatur sollten nachfolgende Forenaktionen eine Zeitangabe direkt unter dem Forenbanner (bei mir rechts) anzeigen, und wenn Sie auf die Zeitangabe klicken, sehen Sie ein Popup-Fenster mit einigen Statistiken.
Das ist ungefähr das Gleiche wie bei mir, wenn ich mit 1 GB RAM arbeite. Ich habe 2.000 Themen, 15.000 Beiträge, 500+ Anmeldungen.
Wie ist die Geschichte Ihres Discourse? Ich erinnere mich dunkel an eine Zeit in der Vergangenheit, als man aus Leistungsgründen einen Index für eine Tabelle erstellen sollte.
Was ist mit Plugins? Können Sie Aktionen im sicheren Modus ausführen, um zu sehen, ob sie schneller laufen?
Gibt es eine einfache Möglichkeit, solche Statistiken zu finden?
Die meisten Statistiken, die ich sehe, zeigen mir, was am letzten Tag oder in der letzten Woche passiert ist, aber keine Gesamtsummen.
Ich bin mir nicht sicher, was du mit Geschichte meinst. Aber ich habe im März 2021 damit angefangen.
Erster Eindruck ist, dass der Safe Mode nicht schneller ist. Ich werde damit und dem Mini-Profiler herumspielen, um zu sehen, ob dieser Eindruck bestehen bleibt.
Auf der /about-Seite gibt es eine Spalte für „all-time“.
Es sieht so aus, als ob Ihr Computer seit über einem Jahr nicht mehr neu gestartet wurde – wahrscheinlich lohnt es sich, dies zu tun und gleichzeitig die Sicherheit zu aktualisieren. Es ist durchaus möglich, dass der Neustart hilft.
Ich glaube, mir ist aufgefallen, dass Ihr Server für die Verwendung von Hypervisoren eingerichtet ist, während meiner für LXC eingerichtet ist. Ich weiß nicht, ob das wichtig ist. (Mein System zeigt einen Prozess /usr/bin/lxcfs an, den Ihres nicht hat, und Ihres zeigt einen Prozess hv_vss_daemon an, den meines nicht hat.)
Außerdem könnten Sie vielleicht die Ausgabe von df -T und swapon teilen.
Ich stimme einer skeptischen Haltung dazu zu! Aber ich schlage es nicht leichtfertig vor – ich bin ziemlich sicher, dass wir einen Fall eines langlaufenden Systems gesehen haben, das sich mit einem Neustart verbessert hat. (Bearbeiten: hier, obwohl es ein anderer Fall war.)