toscom Toolbox: Worst Case Scenarios testen

Veröffentlicht: 10.02.2021 in Know-How und Tipps

Sind die Ressourcen eines Servers seinen Anforderungen nicht gewachsen, bemerkt man das zwar in der Regel schnell, aber im Live-Betrieb ist es dann schon zu spät. Im laufenden Betrieb verschafft hier gutes Monitoring Abhilfe, das die durchschnittliche Last und die Spitzenlast überwacht und es damit ermöglicht, einen Anstieg rechtzeitig zu bemerken und zu reagieren, bevor es zu Problemen kommt.

Auf von uns gewarteten Systemen überwachen wir darüber hinaus auch das Auftreten des OOM-Killers, also wenn Prozesse abgebrochen werden, um einen Out-Of-Memory-Fehler des Servers zu vermeiden.

Server am Rande ihrer Belastbarkeit (und darüber hinaus)

Will man vorab die möglichen Grenzen austesten, oder Worst Case Scenarios wie besagten volllaufenden RAM nachstellen, kann man in Linux auf eine Reihe von Tools und Möglichkeiten zurückgreifen.

Vorweg - alle angeführten Befehle sollten, besonders auf Live-Systemen, nur mit Vorsicht ausgeführt werden!

Um dazu das Verhalten des Systems bei hoher Last nachzustellen, gibt es das Tool "stress". Mit ihm lassen sich kontrolliert Worker spawnen, die per übergebener Optionen eine Vielzahl an möglichen Situationen für das System simulieren können. So zum Beispiel, was passiert, wenn PHP tatsächlich die maximale Anzahl seiner erlaubten Worker ausnutzt.

Die gebräuchlichsten Optionen, um gezielt CPU, RAM und Festplatte zu testen, sind:

-c --cpu N
N Workern, die sqrt() aufrufen
-m --vm N
N workern, die malloc()/free() aufrufen
--vm-bytes B
Speicher, der pro Worker reserviert wird (default 256MB)
-d, --hdd N
N Worker, die write()/unlink() ausführen
-i --io N
N Worker, die sync() aufrufen
--hdd-bytes B
Bytes, die pro Worker geschrieben werden (default 1GB)

Noch genauer kann man mit stress-ng testen, das dafür entworfen wurde mögliche Hardware-Probleme bei hoher Last auszutesten. Hier ist der Link zu weiteren Infos.

Mit Vorsicht auszuführen ist eine brachialere Methode über die Shell:

echo {1..10000000}

Es empfiehlt sich dabei, mit einer kleineren Zahl anzufangen, und erst nach Bedarf zu erhöhen. Da der Zahlenraum im RAM expandiert wird, kann man so sehr schnell das Limit des Systems erreichen.

Natürlich gibt es eine Reihe weiterer Möglichkeiten, die Stabilität eines Servers, auch unter extremer Belastung, auszutesten und zu verbessern. Dabei muss man ja nicht gleich ganz so extrem wie Netflix mit Chaos Monkey vorgehen. So extrem betreibt man es wirklich selten - aber (potentielle) Fehlerfälle sollten wirklich ausgetestet werden. 

Wenn Sie konkrete Anforderungen haben, zögern Sie nicht, ein unverbindliches Beratungsgespräch mit uns zu vereinbaren. Wir helfen unseren Kunden regelmäßig, unter anderem maximale Zugriffszahlen auf Webseiten zu ermitteln und hochverfügbare Lösungen zu planen.

toscom GmbH | Breiteneckergasse 32, 1230 Wien | +43 720 11 66 06 | office@toscom.at

Alle Preisangaben verstehen sich exkl. MwSt.
Aus Gründen der besseren Lesbarkeit wird bei Personenbezeichnungen und personenbezogenen Hauptwörtern auf dieser Website die männliche Form verwendet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für alle Geschlechter. Die verkürzte Sprachform hat nur redaktionelle Gründe und beinhaltet keine Wertung.

It appears you have deactived JavaScript in your browser. This feature is only available with JavaScript turned on. If you don't want your data to be collected, you can still turn on Do Not Track in your browser which is a general setting and is being respected by our Matomo installation.