"Die Website ist langsam" ist die häufigste Beschwerde und die, die am wenigsten Information liefert. Vielleicht ist die Maschine zu klein geworden, vielleicht schickt etwas oder jemand viel mehr Datenverkehr als sonst, oder ein Prozess ist durchgedreht und frisst den Prozessor auf. Die drei Fälle werden unterschiedlich behoben, und blind auf einen größeren Plan zu wechseln ist die teuerste der drei Lösungen.
Lightsail speichert für jede Maschine ein paar Diagramme, die ausreichen, um die Fälle auseinanderzuhalten: CPU-Auslastung, Burst-Kapazität, eingehendes und ausgehendes Netzwerk und Statusprüfungen. Sie müssen nichts installieren. Sie müssen wissen, was jedes Diagramm misst, und vor allem die Burst-Kapazität verstehen, die dafür sorgt, dass eine kleine Maschine eine Weile gut läuft und dann "erschöpft" ist.
Bevor Sie anfangen: was die Begriffe bedeuten
- CPU
- Der Prozessor der Maschine, der die Arbeit erledigt. Das Diagramm der CPU-Auslastung zeigt, welchen Prozentsatz dieser möglichen Arbeit die Maschine zu jedem Zeitpunkt nutzt.
- Burst-Kapazität
- Lightsail-Maschinen haben dauerhaft Anspruch auf einen kleinen Prozentsatz CPU und sammeln "Guthaben" an, wenn sie weniger nutzen. Dieses Guthaben erlaubt Spitzen über das Normale hinaus. Die Burst-Kapazität ist, wie viel Guthaben übrig ist.
- Nachhaltige Zone und Burst-Zone
- Im CPU-Diagramm zeichnet Lightsail eine Linie. Darunter kann die Maschine den ganzen Tag bleiben (nachhaltige Zone). Darüber verbraucht sie Guthaben (Burst-Zone), und wenn es aufgebraucht ist, wird die Maschine gedrosselt.
- Eingehendes und ausgehendes Netzwerk
- Daten, die bei der Maschine ankommen (Anfragen, Uploads), und Daten, die sie verlassen (ausgelieferte Seiten, Downloads). Gemessen in Bytes pro Zeitraum.
- Statusprüfung
- Zwei automatische Tests von AWS: Einer prüft, ob die Maschine antwortet (Instanz), der andere, ob der physische Server, auf dem sie läuft, in Ordnung ist (System). Schlagen sie fehl, steigt das Diagramm über null.
- Cache
- Das Ergebnis einer Arbeit (eine fertig zusammengesetzte Seite) speichern, um sie nicht bei jedem Besuch zu wiederholen. Senkt die CPU, die eine Website braucht, erheblich.
- Bot
- Programm, das Websites automatisch besucht. Es gibt gute (Suchmaschinen) und schlechte (kopieren Inhalte, suchen Schwachstellen, probieren Passwörter). Die schlechten können mehr Datenverkehr erzeugen als alle Ihre echten Besucher zusammen.
Schritt für Schritt
Öffnen Sie die Metriken der Maschine
Öffnen Sie die Lightsail-Konsole, klicken Sie auf den Namen der Maschine und gehen Sie zum Tab Metriken. Oben gibt es ein Auswahlmenü für das Diagramm: CPU-Auslastung, CPU-Burst-Kapazität (Prozent), CPU-Burst-Kapazität (Minuten), Eingehender Netzwerkverkehr, Ausgehender Netzwerkverkehr, Fehlgeschlagene Statusprüfung (Instanz) und Fehlgeschlagene Statusprüfung (System).
Rechts wählen Sie den Zeitraum. Für "heute ist sie langsam" beginnen Sie mit den letzten 6 Stunden; für "das geht schon seit Tagen so" sehen Sie sich die ganze Woche an. Lightsail speichert zwei Wochen an Daten; weiter zurück gibt es nichts.
Lesen Sie die CPU zusammen mit der Linie der nachhaltigen Zone
Im Diagramm CPU-Auslastung gibt es eine waagerechte, meist niedrige Linie, die die nachhaltige Zone (darunter) von der Burst-Zone (darüber) trennt. Das ist der Wert, den die meisten falsch deuten: Eine kleine Lightsail-Maschine hat nicht dauerhaft Anspruch auf 100 % ihres Prozessors, sondern nur auf einen kleinen Prozentsatz; darüber verbraucht sie Guthaben. Eine CPU bei 40 % kann entspannt wirken und ist es nicht, wenn die Linie bei 10 % liegt. Entscheidend ist nicht die Zahl, sondern wie lange sie über der Linie liegt.
- Kurze Spitzen über der Linie, danach wieder darunter: normal. Dafür ist das Guthaben da.
- Fast immer über der Linie: Die Maschine ist für ihre Aufgabe zu klein, oder etwas belastet sie zusätzlich. Weiter mit dem nächsten Schritt.
- Eine flache Linie bei 100 %, die zu einem bestimmten Zeitpunkt begann: fast sicher ein Prozess außer Kontrolle. Springen Sie zu Schritt 5.
Sehen Sie sich die Burst-Kapazität an: Sie ist der Tank
Wechseln Sie zu CPU-Burst-Kapazität (Prozent). Das ist der Füllstand des Guthaben-Tanks, von 0 bis 100. Liegt die Maschine unter der nachhaltigen Linie, steigt er langsam; liegt sie darüber, sinkt er. Dieses Diagramm erzählt die ganze Geschichte:
- Bleibt hoch (über 50 %) und erholt sich nach Spitzen: Die Maschine hat reichlich Reserven. Die Langsamkeit kommt nicht von der CPU.
- Sinkt über Tage langsam ab und erholt sich nie ganz: Sie nutzen dauerhaft mehr CPU, als der Plan hergibt. Das klassische Symptom für "die Maschine ist zu klein".
- Liegt bei null oder fast null: Die Maschine ist erschöpft. Lightsail begrenzt sie auf den nachhaltigen Prozentsatz, und alles wird extrem langsam, auch wenn das CPU-Diagramm "nur" 10 % zeigt. Nicht, dass sie nicht mehr bräuchte: Sie darf es nicht nutzen.
Die Variante in Minuten sagt dasselbe als Zeit: wie viele Minuten bei voller Leistung übrig wären, wenn jetzt eine Besucherspitze käme.
Prüfen Sie das Netzwerk: Kommt zu viel Datenverkehr?
Öffnen Sie Eingehender Netzwerkverkehr und Ausgehender Netzwerkverkehr. Suchen Sie keine Zahl; suchen Sie die Form, indem Sie heute mit einem normalen Tag der letzten Woche vergleichen.
- Netzwerk und CPU sind gleichzeitig gestiegen: Die Maschine arbeitet, weil Datenverkehr ankommt. Das kann gut sein (eine Kampagne) oder schlecht (Bots). Prüfen Sie in den Statistiken der Website (Analytics, Matomo), ob die echten Besuche auch gestiegen sind. Wenn das Netzwerk explodiert ist und die Besuche nicht, sind es Bots.
- Das eingehende Netzwerk hat regelmäßige Spitzen zu festen Zeiten, das ausgehende bleibt flach: Jemand durchsucht die Website automatisch. Typisch sind Anmeldeversuche auf
/wp-login.phpoder/xmlrpc.php, Hunderte pro Minute. - Das ausgehende ist riesig, das eingehende nicht: Sie liefern große Dateien aus (Videos, nicht optimierte Bilder). Die Übertragung hat ein monatliches Kontingent, das im Plan enthalten ist; überschreiten Sie es, wird es extra berechnet.
- Die CPU ist hoch und das Netzwerk hat sich nicht verändert: Das Problem liegt in der Maschine. Weiter mit dem nächsten Schritt.
Suchen Sie den Prozess außer Kontrolle
Wenn die CPU plötzlich stieg, ohne dass sich das Netzwerk veränderte, müssen Sie hineinsehen. Klicken Sie im Tab Verbinden auf Über SSH verbinden und geben Sie im Terminal ein:
top -o %CPUDie erste Zeile ist der Prozess, der am meisten Prozessor verbraucht. Normal ist,
apache2,httpd,php-fpmodermysqldzu sehen, die sich die Arbeit teilen. Werden Sie misstrauisch, wenn:- Ein einziger Prozess minutenlang 100 % belegt. Zum Beispiel nur
mysqld: eine langsame Abfrage oder eine Tabelle ohne Index, sehr häufig bei WordPress mit Plugins, die Statistiken speichern. - Ein Prozess mit einem Namen, den Sie nicht kennen, viel verbraucht: ein Backup mitten am Vormittag, ein Plugin, das Vorschaubilder neu erzeugt, oder etwas, das dort nicht sein sollte.
- Dutzende
php- oderapache2-Prozesse gleichzeitig laufen: Die Maschine versucht, mehr Anfragen zu bedienen, als sie kann. Das ist Datenverkehr; zurück zum vorherigen Schritt.
Drücken Sie
qzum Beenden. Ist der Schuldige klar, reicht für heute meist ein Neustart des Dienstes: auf einer Bitnami-Maschinesudo /opt/bitnami/ctlscript.sh restart; unter Ubuntusudo systemctl restart apache2(odermysql). Danach gilt es, die Ursache zu beheben.- Ein einziger Prozess minutenlang 100 % belegt. Zum Beispiel nur
Prüfen Sie die Statusprüfungen
Die letzten beiden Diagramme sollten immer bei null liegen. Ist Fehlgeschlagene Statusprüfung (System) gestiegen, liegt das Problem beim physischen Server von AWS, nicht bei Ihrer Maschine: Stoppen und starten Sie die Instanz neu, und AWS verschiebt sie auf einen anderen, gesunden Server. Steigt die der Instanz, antwortet die Maschine nicht: kein Speicher, Festplatte voll oder abgestürzt. Starten Sie sie neu und prüfen Sie, wenn sie zurück ist, den Platz mit
df -h. Eine Festplatte bei 100 % lässt alles auf seltsame Weise fehlschlagen.Entscheiden Sie, was Sie mit dem Gesehenen tun
Die Diagnose läuft auf drei Fälle hinaus:
- Die Maschine ist zu klein (CPU fast immer über der Linie, Burst-Kapazität erholt sich nicht, Netzwerk normal, nichts Auffälliges in
top). Der günstige Ausweg: ein Cache-Plugin, wenn es WordPress ist, und die Datenbank aufräumen (ungenutzte Plugins entfernen, Revisionen löschen). Viele Websites halbieren allein damit ihre CPU. Der direkte Weg: auf einen größeren Plan wechseln. In Lightsail lässt sich die Größe nicht an Ort und Stelle ändern: Man erstellt einen Snapshot, legt daraus eine neue Maschine mit größerem Plan an, überträgt die statische IP und löscht die alte. In diesem Bereich gibt es dazu eine Anleitung. - Zu viel Datenverkehr (CPU und Netzwerk steigen gemeinsam, echte Besuche nicht). Blockieren Sie die Bots, bevor Sie für mehr Maschine zahlen. Die Firewall von Lightsail schließt Ports, filtert aber nicht nach Art der Anfrage; nutzen Sie dafür ein Sicherheits-Plugin in WordPress (Anmeldeversuche begrenzen,
xmlrpc.phpblockieren) oder stellen Sie die Website hinter einen Dienst wie Cloudflare. Ist der Datenverkehr echt: Glückwunsch, jetzt sind Cache und größerer Plan angesagt. - Prozess außer Kontrolle (CPU plötzlich bei 100 %, Netzwerk unverändert, ein bestimmter Prozess in
top). Starten Sie den Dienst neu und suchen Sie die Ursache: die langsame Abfrage, das Plugin, die zur falschen Zeit geplante Aufgabe. Die Maschine zu vergrößern schiebt das Problem hier nur auf.
Faustregel: Wenn die Maschine nach Cache und Aufräumen den größten Teil des Tages weiterhin über der nachhaltigen Linie liegt, ist sie wirklich zu klein. Der nächste Plan kostet wenige Euro mehr im Monat; weniger als ein Nachmittag mit ausgefallener Website.
- Die Maschine ist zu klein (CPU fast immer über der Linie, Burst-Kapazität erholt sich nicht, Netzwerk normal, nichts Auffälliges in
Was schiefgehen kann
Die CPU ist niedrig, aber die Website ist extrem langsam
Sehen Sie sich die Burst-Kapazität an. Liegt sie bei null, ist die Maschine erschöpft und Lightsail drosselt sie: Das CPU-Diagramm wirkt ruhig, weil sie nicht arbeiten darf. Kurzfristig senken Sie die Last (Cache, Überflüssiges stoppen), damit sich der Tank erholt; mittelfristig ein größerer Plan. Ist die Burst-Kapazität hoch, liegt der Engpass woanders: Arbeitsspeicher (prüfen Sie mit free -m, ob Swap genutzt wird), volle Festplatte oder eine langsame externe Datenbank.
Die Diagramme sind leer oder haben Lücken
Lightsail speichert nur zwei Wochen. Fehlt ein aktueller Abschnitt, war die Maschine gestoppt oder wurde neu gestartet. Haben Sie sie gerade erst erstellt, zeigen die ersten Minuten nichts. Warten Sie und laden Sie neu.
Ich habe den Plan vergrößert und es ist immer noch gleich
Dann war es nicht die CPU. Zurück zu den Diagrammen der neuen Maschine: Hat das Netzwerk dieselbe Form, ist es Datenverkehr (Bots) und muss blockiert werden; liegt ein Prozess weiterhin bei 100 %, ist es die Datenbank oder ein Plugin. Ein größerer Plan gibt mehr Burst-Guthaben, repariert aber weder eine schlecht gebaute Abfrage noch einen Bot, der die Anmeldeseite tausendmal pro Minute aufruft.
Ich weiß nicht, ob der Datenverkehr von Bots oder Menschen kommt
Sehen Sie sich im Terminal die letzten Zeilen des Webserver-Protokolls an: sudo tail -n 200 /opt/bitnami/apache/logs/access_log bei Bitnami oder /var/log/apache2/access.log unter Ubuntu. Wiederholt sich dieselbe IP oder dieselbe Seite (wp-login.php, xmlrpc.php, Pfade mit .php, die nicht existieren), sind es Bots. Menschen rufen unterschiedliche Seiten auf, mit Bildern dahinter, von verschiedenen Adressen aus.
In Simplio
In Simplio zeigt jede Maschine die Metriken der letzten 24 Stunden (CPU, Burst-Kapazität und Netzwerk) auf ihrer eigenen Karte, ohne Auswahlmenüs, und übersetzt sie in einen einfachen Satz: "diese Maschine läuft am Limit" oder "hat reichlich Reserven". Wenn eine Maschine stoppt oder am Limit bleibt, erhalten Sie eine E-Mail, statt es von einem Kunden zu erfahren. Lautet die Diagnose "Maschine zu klein", erstellen Sie vom selben Bildschirm aus den Snapshot und starten, stoppen oder starten neu; lautet sie "zu viel Datenverkehr", hat die Firewall eine Schaltfläche "Meine IP hinzufügen", um Ports für alle außer Ihnen zu schließen.
Um hineinzusehen, haben Sie unter Linux das Terminal im Browser und in den Plänen Pro und Unternehmen die Installationsskripte (WordPress, Let's Encrypt, Docker, System aktualisieren). Die Kostenansicht sagt Ihnen ungefähr, was der nächste Plan bedeutet, bevor Sie sich entscheiden.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Sehen, wie es der Maschine geht | Tab Metriken, 7 Diagramme in einem Auswahlmenü, Zeitraum wählen und nach Augenmaß vergleichen | Karte der Maschine mit den letzten 24 h und einem einfachen Satz |
| Erfahren, dass sie erschöpft ist | In der Konsole einen Alarm pro Metrik anlegen, mit Schwellenwert und E-Mail | E-Mail-Benachrichtigung, wenn die Maschine stoppt oder am Limit läuft |
| Einen Port für die Bots schließen | Tab Netzwerk, Regel bearbeiten, Ihre IP von Hand eintragen | Schaltfläche "Meine IP hinzufügen" in der Firewall |