Wie diagnostiziert man eine Verlangsamung?

Meine Website hat in letzter Zeit eine leichte und plötzliche Verlangsamung beim Laden von Seiten erfahren. Ich hatte ein Problem, bei dem ein Backup generiert wurde und den Speicherplatz auf meinem Digital Ocean Volume überschritt, was die Website lahmlegte. Seitdem habe ich Schwierigkeiten, die Website wieder aufzubauen. Diese Ereignisse könnten aufgrund des Timings zusammenhängen. Derzeit scheint die Website stabil zu sein, aber einfach langsamer als gewohnt.

Ich könnte mehr ins Detail gehen, was passiert ist, aber ich würde lieber eine allgemeinere Frage stellen. Welche Techniken gibt es, um die Ursache einer Verlangsamung zu diagnostizieren? Mein Droplet hat eine durchschnittliche CPU-Auslastung von 20 %, sodass ich über ausreichende Ressourcen verfüge (4 GB Speicher / 2 AMD vCPUs / 80 GB Festplatte, ~15.000 Seitenaufrufe pro Tag).

Jeder Tipp wird geschätzt.

3 „Gefällt mir“

Mein erster Anlaufpunkt wäre
vmstat 5 5
auf der Kommandozeile.

3 „Gefällt mir“

Vielen Dank für den Vorschlag. Ich bin mit dem Befehl nicht vertraut, gibt es etwas Bestimmtes, nach dem ich Ausschau halten sollte?
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n r b swpd free buff cache si so bi bo in cs us sy id wa st\n 1 0 475136 144304 20296 1786100 2 3 2622 447 44 50 19 3 72 1 4\n 0 0 475136 143076 20304 1785312 0 0 65 25 622 584 2 1 95 0 1\n 0 0 475136 141080 20456 1789144 0 0 800 3 459 473 2 1 96 0 1\n 3 0 475136 143092 20572 1783408 0 17 11598 51 733 966 14 6 67 2 12\n 0 0 475648 134688 20376 1791036 0 81 38915 394 1323 1784 10 8 61 8 13\n

1 „Gefällt mir“

Danke! Wenn Sie einen Speichermangel hätten, wären die Cache-Zahlen klein, und wenn Sie viel auslagern würden, wären die Spalten si und so groß. Aber das ist nicht der Fall.

Wir sehen einen großen Spitzenwert in bi und bo, was typischerweise Festplattenaktivität ist. Ich frage mich, ob etwas irgendwo etwas baut, repariert oder scannt.

Versuchen Sie vielleicht, alle fünf Sekunden für etwa eine Minute lang ps auxrc auszuführen, um zu sehen, ob Sie einen beschäftigten Prozess erwischen können.

Es gibt andere Dienstprogramme, die möglicherweise noch nicht installiert sind: Suchen Sie vielleicht nach “How to Monitor Disk IO in a Linux System” oder ähnlichem.

Es ist erwähnenswert, dass, wenn Sie Zweifel an der Integrität Ihres Systems haben, der Wiederaufbau aus einem Backup der schnellste Weg sein könnte. Aber stellen Sie sicher, dass Sie eine externe Kopie des Backups haben, wenn nicht sogar zwei, falls etwas schiefgeht. Und idealerweise führen Sie die Installation auf einer neuen Instanz durch und behalten die bestehende, bis die neue ordnungsgemäß funktioniert.

5 „Gefällt mir“

Das sind großartige Ratschläge, danke!

Ich sitze bei 80% Speichernutzung. Ist das typisch? Der Einbruch ist darauf zurückzuführen, dass ich die App über den Launcher gestoppt und neu gestartet habe.

droplet: 4 GB Memory / 2 AMD vCPUs / 80 GB Disk

Ich habe ein neues Droplet gestartet, eine Sicherung des Forums (ohne Bilder) darauf gespielt und erhalte ein ähnliches Verhalten.

htop-Ausgabe, sortiert nach Speicher:

80% klingt für mich nicht problematisch.

Interessanter ist, dass Sie viele Sidekiq-Prozesse haben und dennoch die Anmerkung „0 von 5 beschäftigt“ sehen – Sie haben mehr als 5. Sie scheinen auch viele Unicorn-Threads zu haben.

Ich schlage hier ein neues Thema vor, mit Ihrer htop-Ausgabe, einschließlich Ihrer yml-Konfiguration, ob Sie Ihre Unicorn-Anzahl angepasst haben. Fragen Sie, ob diese Anzahl von Prozessen angemessen erscheint.

Ich habe ein sehr ähnliches htop auf demselben VPS (allerdings mit einem anderen Prozessor) und ich habe nichts von den Standardeinstellungen geändert.

Ohne etwas zu wissen, würde ich behaupten, dass dies nur eines zeigt: Es gibt nicht zu viel Verkehr, wenn überhaupt, an diesem Punkt.

1 „Gefällt mir“

Ah ja, ich hätte meinen eigenen htop überprüfen sollen: sehr ähnlich.

Eine weitere, ganz andere Idee für die ursprüngliche Beobachtung einer „Verlangsamung“ – aktivieren Sie den Mini-Profiler mit Alt-P, rufen Sie dann eine typische große Seite in Ihrem Forum auf und sehen Sie, welche Abfragen durchgeführt werden und wie lange sie dauern, indem Sie auf die Zeitangabe klicken, die oben rechts erscheint.

1 „Gefällt mir“

Ich konnte ein apt upgrade durchführen und auch neu aufbauen. Dieses Problem: Pups error on rebuild 🐕 hat mich eine Weile davon abgehalten, neu aufzubauen.

Seit dem Neuaufbau fühlt es sich verbessert an. Ich operiere aber nicht gerne nach Gefühl, sondern hätte lieber Analysen und messbare Daten. Ich schätze die Tipps von @Ed_S, sie werden für die weitere Überwachung nützlich sein.

Ich frage mich, ob es möglich ist, einige dieser Profilierungsdaten zu erfassen, um die “Gesundheit” der Instanz über die Admin-Seite anzuzeigen. Vielleicht eine potenzielle Plugin-Idee oder ein zukünftiges Kern-Feature?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.