wir haben unseren CentOS-7-Server von 2.2.2 auf 2.7.0.beta4 aktualisiert und seitdem treten bei der Seitenladung Latenzen auf. Dies betrifft insbesondere Seiten mit Datenbank- oder Bildinhalten, bis hin zur Unbrauchbarkeit.
In den letzten Jahren ist einiges passiert. Es gab eine Bug-Änderung, die die Verarbeitung aller Bilder erfordert. Ich vermute, dass dein Server mit dieser Arbeit völlig überlastet ist. Du kannst dir unter /sidekiq die Warteschlange ansehen.
Wie groß ist deine Datenbank? Wie viele Bilder gibt es? Was zeigt Sidekiq an? Du verwendest doch SSD, oder?
Es handelt sich um einen VM-basierten Server, daher bin ich mir nicht sicher, ob es sich um eine SSD handelt.
Ich kann Sidekiq nicht einsehen, da diese Bereitstellung nicht von mir durchgeführt wurde, und ich bin mir nicht sicher, wie ich darauf zugreifen kann.
Ihr bester nächster Schritt besteht darin, herauszufinden, warum die Leistung nachgelassen hat. Im Laufe der Jahre wurden eine ganze Menge von Hintergrundjobs hinzugefügt (Bildoptimierung, Neuberechnung usw.), die wahrscheinlich jetzt laufen und Ihre Serverressourcen beanspruchen. Sobald diese abgeschlossen sind, sollte sich die Leistung verbessern.
Der Zugriff auf /sidekiq (mit einem Administratorkonto!), um herauszufinden, welche Jobs laufen, ist ein hervorragender erster Schritt.
Okay, ich habe also Zugriff auf Sidekiq erhalten. Könnt ihr mir bitte helfen, das zu verstehen und Optimierungen vorschlagen? Ich stecke hier aufgrund dieser Leistungsprobleme ziemlich in der Klemme.
Das Verhalten, das ich auf dem Server beobachte, ist, dass die leere Warteschlange weiterhin angezeigt wird, selbst wenn ich versuche, einen Beitrag zu öffnen, um zu sehen, ob er aufgelistet wird. Das Sidekiq-Portal friert ebenfalls ein, wenn ein Beitrag geladen wird, und aktualisiert sich erst, nachdem der Beitrag vollständig geladen ist.
Außerdem wird die Warteschlange erneut als leer angezeigt, sobald der Beitrag geladen ist. Jegliche Hilfe oder Vorschläge wären sehr willkommen.
Wie groß ist Ihre Datenbank?
Wie viele Bilder?
Haben Sie Theme-Komponenten, die viele API-Aufrufe auslösen?
Können Sie mir bitte mitteilen, wie ich diese Informationen in einer Docker-basierten Einrichtung herausfinden kann? Ich weiß, dass das letzte Backup 135 MB groß ist.
Was die Plugins betrifft: Ja, wir haben folgende Plugins installiert:
Wie viele Beiträge und Benutzer hast du? Wie ist der Traffic?
Wie viel RAM ist vorhanden?
Es sieht so aus, als würdest du mit einem 2-GB-DigitalOcean-Droplet gut zurechtkommen; du könntest einen solchen erstellen und testen, wie er funktioniert.
Vielleicht gibt es ein anderes Problem mit deinem Server? Ist er auf dem neuesten Stand? Wurde er kürzlich neu gestartet?
Die durchschnittliche Anzahl gleichzeitig angemeldeter Nutzer ist nicht sehr hoch, maximal vielleicht 5–10 im Durchschnitt.
Dieser Server wurde vor kurzem hochgefahren und verfügt über 8 GB RAM sowie 10 GB Swap-Speicher. Er läuft derzeit erst seit 13 Tagen. Die Leistungsprobleme treten jedoch unabhängig von Neustarts und der Laufzeit auf.
Ich kann mich nicht erinnern, ob vorgeschlagen wurde, dass du discourse-setup erneut ausführst, um die Speichernutzung von Discourse anzupassen, oder ob diese Standardwerte angesichts dessen, was sonst noch den Server belegt, angemessen sind.
Falls du nach dem Upgrade auf PG13 die Datenbank nicht neu indiziert hast, lohnt sich ein Blick auf PostgreSQL 13 Update für weitere Informationen dazu.
Nun, das ist alles sehr seltsam. Niemand sonst hat solche Probleme. Du scheinst ausreichend Hardware zu haben. Meine einzige Vermutung ist ein Problem mit einem Reverse-Proxy (du hast vermutlich noch andere Dinge auf dem Server?).
Ja, ein weiterer auf Docker basierender Dienst.
Aber überhaupt nichts, was leistungsintensiv wäre, da sich dies in den Leistungsmetriken der Maschine zeigen würde.