Erfahre in diesem Artikel, wie du Ressourcen-Limits richtig ließt und Performance-Probleme identifizierst.
Zuerst eine Übersicht über CloudLinux Ressourcen Limits, die auftreten können.
PMEM-Physical Memory Limit
Hiermit ist das physische Speicherlimit der Datenträger gemeint.
IO/IOPS
IO steht für "Input Output" und IOPS für "Input Output Operations per Second", zu Deutsch bedeutet das Ein- und Ausgabebefehle pro Sekunde. Genauer beschreiben die Begriffe die Geschwindigkeit der Lese- und Schreibprozesse der Datenträger.
EP-Entry Processes
Mit Entry Processes sind nicht - wie man vermuten mag - Besucher:innen gemeint, die die Webseite betreten, sondern die Anzahl von Prozessen, welche zur gleichen Zeit mit dynamischen Skripten des Apache verbunden sind.
Fehlermeldungen
Unter Umständen kann es vorkommen, dass deine Webseite ihre Ressourcenlimits ausreizt, wodurch es zu Fehlermeldungen kommen kann. Im Folgenden werde ich dir die gängigsten Fehlermeldungen vorstellen.
Wenn deine Webseite langsam lädt oder länger braucht, um zu antworten, dann wird die Seite durch die CPU oder die IO Prozesse limitiert. In solchen Fällen erhältst du keine Fehlermeldungen, die dir das mitteilen. Solange dies nicht oft vorkommt, brauchst du dir darum keine Sorgen machen.
Fehlermeldung 500 und 503
Die Fehlermeldungen 500 und 503 treten auf, wenn deine Webseite durch den Speicher oder die Anzahl der Prozesse limitiert wird. In diesen Fällen erhältst du neben dem Fehlercode die Nachricht, dass der Server das Skript nicht ausführen konnte.
Fehlermeldung 508
Sollte deine Seite durch Entry Processes limitiert sein, erhältst du den Fehlercode 508 und die Nachricht „Ressourcenlimit erreicht“.
Am häufigsten wird dieser Fehler durch CPU-Fehler ausgelöst, wodurch die Anzahl an Entry Processes deutlich angehoben wird.
CPU-Fehler
CPU-Fehler werden entweder durch interne Prozesse der Webseite oder durch externe Ereignisse verursacht. Die Fehler entstehen in den meisten Fällen durch Prozesse, die mehr Ressourcen der CPU abverlangen, als ihr zur Verfügung steht.
Beispiele für interne Website Prozesse durch, die CPU-Fehler verursacht werden können.
Erste Ursache könnten schlecht oder nicht optimal entwickelte Plugins/Themes sein, die mehr CPU-Ressourcen verbrauchen als sie sollten.
Nächste Ursache könnten Cache-Probleme sein. Nutze Caching-Tools, wie WP-Rocket, damit deine Website effizient lädt.
Eine weitere Ursache könnte externe Software sein, die regelmäßig deine Webseite auf Aktualität und Update Möglichkeiten deiner Plugins oder Themes testet. Auch installierte Software, die nach bestimmten Inhalten im Internet „crawlt“ kann zu CPU-Problemen führen.
Viele Prozesse, die in einem kurzen Zeitfenster im Backend der Webseite gestartet werden, können zu CPU-Problemen führen. Somit sollten auch Backend-Prozesse wie z.B. geplante Backups nicht gleichzeitig mit anderen Backend-Prozessen oder Zugriffen gleichzeitig geschehen.
Beispiele externer Prozesse, die hohe CPU-Auslastung verursachen.
Ein Grund dafür können Attacken von Hackern sein. Weitere Gründe sind Bots oder Crawlers, die deine Seite besuchen und dadurch deine Kapazitäten auslasten. Wenn du in diesen Fällen keine Vorkehrungen im Sinne von Konfigurationen getroffen hast, die den Bot-Traffic limitieren, wird deine CPU-Auslastung erhöht sein.
Ein weiterer Grund ist eine nicht optimal konfigurierte Firewall. Denn eine Firewall kann dich vor den vorher genannten Gründen schützen.
Ein weiteres Beispiel ist eine große Menge an Personen, die deine Seite zur selben Zeit besuchen, weil du beispielsweise Werbung für deine Webseite gemacht hast.
Tipps, um eigenständig CPU-Probleme zu lösen
Grundlegend solltest du solche Probleme immer beobachten und am besten dokumentieren. Denn wenn solche Probleme irregulär und von Zeit zu Zeit auftreten, kann man davon ausgehen, dass es sich dabei um externe Prozesse handelt, wie beispielsweise Attacken anderer oder eine erfolgreiche Werbekampagne. Hierbei kann dir in den meisten Fällen eine Firewall weiterhelfen. Diese kann entweder Angriffe komplett vereiteln oder deren Einfluss auf deine Seite verringern.
Eine weitere Möglichkeit zur Identifizierung ist es, sich die Ressourcenauslastung im Cloudlinux-Manager und deren Zeitpunkt anzusehen. Im Anschluss schaut man sich die Logs der Webseite an und überprüft, wann die CPU-Fehler auftreten. Sollten die Fehler in einem regelmäßigen Intervall auftreten, dann ist das ein Indiz dafür, dass interne Prozesse nicht optimal laufen und Fehler verursachen.
Entry-Processes Fehler
Wenn die Ressourcen für Entry Prozesse komplett ausgelastet sind, wird der Server eine 508 „Resource Limit Reached“ Fehlermeldung ausgeben. Hiermit wird verhindert, dass eine einzelne Seite alle Web Server Prozesse beeinflusst. Hier ist auch zu beachten, dass mehrere auftretende CPU-Fehler die Anzahl der Entry-Prozesse erhöht, was dazu führt, dass diese nicht mehr schnell genug bearbeitet werden können und eine 508 Fehlermeldung auftritt, solange die bestehenden Entry-Prozesse verarbeitet wurden.
Zusammenfassend
In den meisten Fällen sollte es kein Problem sein, wenn Ressourcen Limits vereinzelt überschritten werden. Sollte es aber zu einem Problem werden, bietet es sich an deine Webseite mit mehr Ressourcen auszustatten, wie beispielsweise mehr RAM, mehr CPUs etc. Mehr Ressourcen bedeuten aber nicht, dass keine Fehler mehr in Zukunft auftreten können. Sie helfen dir aber dabei schneller CPU-Probleme oder eine 508 Fehlermeldung zu lösen.