Boehrsi.de - Blog

Server Informationen - Grund für die Ausfälle

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Server Informationen - Grund für die Ausfälle Bild

Vor ca. 14 Tagen endeten die über zwei Wochen andauernden Probleme meines Servers, mit einem Umzug auf ein anderes System. Begonnen hatten die Probleme Ende März mit einem Update auf Ubuntu 18.04. Grund für das Update war der auslaufende Support für das bis dahin genutzte Ubuntu 14.04. Die Neuinstallation und Neueinrichtung verlief generell gut, bis zum Start meiner Java Micro-Services.
Ich konnte lediglich die Suche oder die Kommentarfunktion aktivieren und vermutete zu Beginn Java Probleme. Nach einigen weiteren Test mit nativen Programmen (ein Go Programm, welches lediglich einen simplen String in eine Datei schreibt, wurde genutzt) konnte ich allerdings feststellen, dass die Problematik das gesamte System betraf. Aus einem mir bis heute nicht komplett ersichtlichen Grund war es nicht möglich über eine bestimmte Anzahl von Threads zu kommen.
Diverse Debugging Runden mit und ohne den Strato-Support, das Auslesen aller möglichen Limits, Erhöhen von verfügbaren Ressourcen und Anpassen von Config-Dateien brachte leider keine Besserung. Nach ca. 10-20 gestarteten Threads mit meinem Standard Nutzer oder dem Root Nutzer und einem variierenden globalen Limit von ca. 200 Threads war immer Schluss. Die Hard- und Soft-Limits lagen dabei bei 400 - 800. Im Fall des Erreichens der Threadgrenze war nicht mal mehr das Forken auf der Shell möglich.

Von Strato wurden diverse Versuchen unternommen das Problem zu beheben und neben Anpassungen meiner Limits wurde auch das Hostsystem gewechselt, leider alles ohne finale Lösung. Da ich allerdings seit langer Zeit sehr zufrieden bin mit Strato, bin ich bei meinem bisherigen Anbieter geblieben. Ich bin nun von einem vServer auf einen dedizierten Server umgezogen. Dedizierte Hardware, mehr Kontrollmöglichkeiten und durch einen Zusammenschluss mit einem Kollegen nicht einmal großartige Mehrkosten. Abgesehen von der längeren Offline-Zeit und dem durchaus großen Zeitaufwand für das Debugging, hat das Ganze nun also sogar ein positives Ende. Im Rahmen der Neuinstallation konnte ich darüber hinaus mein Wissen bezüglich des Servers erweitern, Abläufe optimieren und frühere Skripte vereinfachen und verbessern. Alles in allem bin ich aber froh dass nun auch die letzten Kleinigkeiten langsam vom Tisch sind, sodass ich mich der produktiven Nutzung und neuen Projekten widmen kann.
Sollten euch die Limits eures System interessieren sind Befehle wie ulimit –a (diverse Systemlimits anzeigen), top (aktuelle CPU-Auslastung anzeigen), free –hm (RAM Verbrauch anzeigen), ps -eLf | wc –l (ungefähre Anzahl an laufenden Threads anzeigen) und cat /proc/user_beancounters (Limits auf virtuellen Servern anzeigen) durchaus praktisch.

Kommentare  
Kommentar erstellen
Mit dem Abschicken des Kommentars erklären sie sich mit der in der Datenschutzerklärung dargelegten Datenerhebung für Kommentare einverstanden. Spam, unangebrachte Werbung und andere unerwünschte Inhalte werden entfernt. Das Abonnieren via E-Mail ist nur für E-Mail Adressen erlaubt die Sie rechtmäßig administrieren. Widerrechtliche Abonnements werden entfernt.