Browsed by
Month: May 2017

Unmäßigkeit ist eine der sieben Todsünden

Unmäßigkeit ist eine der sieben Todsünden

Nein, ich fange jetzt nicht an über Religion zu sprechen, dazu fehlen mir sowohl Motivation als auch das umfassende Hintergrundwissen. Viele Lehren aus dem Religionsunterricht gelten heutzutage auch nicht mehr als besonders zeitgemäß, und ehrlich gesagt habe ich die Sache mit der Unmäßigkeit nie so richtig verstanden, bis ich gesehen habe wie Menschen mit der Ressource RAM umgehen.

Da mein vorheriger Arbeitgeber eine Software produzierte, welche im weitesten Sinne Daten aus verschiedenen Quellen sammelt und weiterverarbeitet, wurde ebenjenes Produkt natürlich auch intern getestet. Dabei war es notwendig auf dem Wiki Server ein Tool zu installieren, welches die zugehörigen Metadaten extrahiert. An dieser Stelle sprechen wir über ein relativ kleines Snippet, das einzig und allein dazu da war mittels HTTP eine sehr überschaubare Menge Daten in einem maschinelesbaren Format (keine Ahnung mehr ob das XML oder JSON war) zu übermitteln.

Naiv, wie ich damals war, habe ich natürlich einfach das von den Devs überreichte Binary installiert und gestartet, nur um mich alsbald zu wundern, warum der Server ziemlich in die Knie geht. Ein kurzer Blick ins htop ergibt, dass das besagte Stück Software zwischen ein und zwei Gigabyte RAM beanspruchte. Auf der VM die das Wiki beherbergte waren das bis zu 25 Prozent, was die beträchtlichen Leistungseinbußen natürlich erklärte. Es stellte sich in der Folge noch heraus, dass die verwendete JAVA-Library die eigenheit hatte, sobald man irgendetwas mit HTTP oder REST tat, automatisch einen Tomcat mit hochzufahren. Und Menschen wundern sich wirklich, warum ich diese Programmiersprache unter der Kategorie “Technik, die begeistert” abhefte.

Als ich den Dev, der maßgeblich für die Entwicklung des Werkzeugs verantwortlich war, darauf ansprach, sagte er einen Satz, den ich vermutlich in diesem Leben nie wieder vergessen werde, da er mich zutiefst traumatisiert hat:

“Wenn ich eine Applikation Programmiere, dann mache ich mir doch keine Gedanken über den Memory-Footprint!”

Möbiusbackup

Möbiusbackup

Alles fing wie immer ganz harmlos an:

Eines schönen morgens schickte das Backup eine Mail, dass kein Platz mehr frei sei. Nagut das kommt schonmal vor, weil der Pool ja nun genau so groß ist, wie er sein muss – da wartet man dann ein bis zwei Tage, in denen laufen alte Volumes ab und das ganze regelt sich von selbst wieder. Wenn aber drei Tage lang das Backup steht fängt man doch mal an zu grübeln. Als ich dann nachsah, welche Kiste denn da übervoll ist, war der Kandidat erstmal recht unauffällig, klar die Maschine mit den Buildartefakten der Devs ist gerne mal recht voll, aber 400 Gigabyte bauen eigentlich selbst die nicht…

Also mal den Kollegen gefragt, ob er in letzter Zeit was an dem Server gemacht hat. Mein damals noch Kollege war ja nicht nur meine zweite Gehirnhälfte im Büro, sondern ist auch einer meiner besten Freunde, wenn ich ihn also hier aus anonymitätsgründen “Monsterchen” nenne und er dabei ein bisschen trottelig weg kommt, keine Angst, das habe ich ihm hinterher alles genau so gesagt – mit den liebevollen und aufbauenden Worten “Boah, du Trottel!”. Liebes Monsterchen, ich hab dich trotzdem lieb 😉

Ja, er hatte probleme mit dem VPN auf der Kiste gedebuggt, die sich letztendlich nach langer Suche, bei der er vor lauter Bäumen den Wald nicht gesehen hatte, auf ein abgelaufenes Zertifikat zurückführen ließen. Leider hatte er dabei in der OpenVPN config das verb 11 vergessen wieder auf gesunde 3 zurückzudrehen. Wer jetzt schon weiß was passiert ist: Ja, genau das – nur noch schlimmer. Der Server hatte brav jedes einzelne Paket in den OpenVPN Log geschrieben, aber nicht nur das: Die kompletten Backups liefen über das VPN, was natürlich eine hübsche kleine Endlosschleife produziert hatte, da der Backupdienst versuchte selbiges Log zu backupen, das weiterhin parallel anwuchs.

Die ganze Sache grenzte schon ein klein wenig an totale Vertrottelung, illustriert aber wunderbar, was passiert, wenn man nach dem Testen oder Debuggen nicht ordentlich hinter sich aufräumt.

Also liebe Lesende: Husch, husch, räum deine Server auf!

Back to Life

Back to Life

Hallo ihr Lieben,

es tut mir sooooooooooo leid, dass ich sooo lange nicht mehr geschrieben habe.

Leider hatte ich wenig Zeit, da sich bei mir einiges verändert hat, vor allem der Arbeitgeber. Statt in einer kleinen und ziemlich verrückten Developerbude bin ich inzwischen bei einem IT Security Unternehmen, dessen Name – wie alle anderen auch – aus Diskretionsgründen nicht genannt werden soll. Wer mich kennt weiß es ja sowieso, und wer mich nicht kennt braucht es nicht zu wissen.

Glücklicherweise ist auch das ein Laden voller lustiger, bunter und verrückter Nerds, deren Alltag manchmal Geschichten ausspuckt, die hier wunderbar rein passen werden.

Aber zunächst möchte ich euch noch mit ein paar Schmankerln aus der alten Firma beglücken, die schon ziemlich lange in der Queue hängen, da ich ja leider keine Zeit hatte sie niederzuschreiben.