Wer meinen Blog regelmäßig besucht, hat sicher in den letzten Wochen bemerkt, dass es hier und da mal hapert. Entweder sind die Ladezeiten unterirdisch oder die gesamte Website lädt erst gar nicht. Das passiert natürlich aus einem Grund, oder vielmehr aus vielen Gründen und ich möchte heute ganz kurz ein Update geben. Ich werde auch nicht zu technisch… hoffe ich.

Grund 1. Ein Shop zerrt an den Ressourcen

Während ich in den letzten Jahren aus technischer Sicht ausschließlich Logs gesichtet und Security Patches eingespielt habe, konnte einfach nicht viel passieren. Klar, die optimalsten Ladezeiten hatten sämtliche Websites welche auf dem Server liefen nicht – aber dafür war auf sie verlass. Ein herumschrauben an den Configs der einzelnen Komponenten hätte eventuelle Ausfälle mit sich gebracht und generell viel Zeit gekostet um das Feintuning ordentlich durchzuführen – dafür hatte ich viele Jahre keinen Nerv und ich sah auch keine Notwendigkeit hier aktiv zu werden

Doch kürzlich änderte sich das alles, denn mein neues Gewerbe welches ich zuletzt gegründet habe, soll nun auch präsenter im WWW werden. Und neben Social Media bedeutet das, dass auch ein Shop online gehen soll. Ein Shop, welchen ich natürlich selbst hoste, denn die überteuerten Preise von Shopify und Co. möchte ich nicht zahlen. Nicht, wenn ich es auch alleine kann. Doch solch ein Shop zerrt an den Ressourcen und mein VDS ist schon viele Jahre alt. Inzwischen laufen mehr als 15 WordPress Instanzen auf dem Teil von mehr oder weniger gut besuchten Blogs. Nicht alle Instanzen werden von mir betreut, einige gehören z.B. meinen Brüdern oder Bekannten, aber nehmen wir allein diesen Blog hier. Es ist mein privater Blog wo ich ab und an mal etwas poste, was mich umtreibt oder wenn ich mal wieder eine kurze Reiseerfahrung teilen möchte. Es ist meine am schlechtesten besuchte WP Instanz und weil es viele Model 3 Fahrer gibt, welche auf der Suche nach Erfahrungen mit einem Wohnwagen sind – oder wie eine Reise nach London aussehen kann – hitte ich beinahe täglich (abzüglich Bots) ca. 2000 Besucher am Tag, bei knapp 2800 Views. Eine andere Website klettert im Sommer auf gut 15.000 Besucher am Tag. Und neben WordPress, läuft hier z.B. auch noch ein Rocket.Chat, welcher ebenfalls Ressourcenhunger hat. Das ist mit meinem alten Server alles andere als toll, denn die Ressourcen sind hier stark eingeschränkt. Nachdem ich also meinen Test-Shop aufgesetzt hatte, lief der Server am Limit und alles fing an sehr langsam zu laden. So langsam, dass es stellenweise dazu kam, das nicht einmal eine Website aufgerufen werden konnte.

Nach einigem Herumprobieren, war völlig klar wohin die Reise gehen muss – was mich zum nächsten Punkt führt.

Grund 2. Wir packen die Umzugskartons

Es war völlig klar, dass ich mit meinen begrenzten Ressourcen keinen Shop zum laufen bekommen werde. Mein erster Gedanke fiel auf einen VPS auf welchem dann der Shop für sich läuft, aber irgendwie empfand ich es als unsinnig doppelte identische Infrastrukturen zu warten. Also musste ein Upgrade her – und zwar ein Upgrade, welches mir nicht nur heute Luft zum atmen gibt sondern mich und meine Projekte die nächsten Jahre trägt. Ins Rechenzentrum spazieren, einen RAM-Riegel in die Dose drücken und wieder gehen war also keine Option. Also: Ran ans Backup und einen neuen Server ins Netz gezimmert!

Die Basis war klar: Ein aktuelles LTS Ubuntu Release!
Mein alter Server existierte bereits Jahre. Ich habe ihn 2017 mit Ubuntu Xenial Xerus aufgesetzt… das ist Version 16.04. Und bis auf Security Patches ist hier nicht viel passiert. Fast schon traurig, so ein kleines veraltetes Kind im Netz stehen zu haben, aber: Es war ausgehärtet! Doch nun wollte ich die Chance nutzen und mich „aktueller“ aufstellen, denn immerhin würde auch der LTS Support von 16.04 bald auslaufen. Der kleine Numbat (24.04) rennt also dieser Tage auf dem neuen Hobel. Riecht immer noch nach Neuwagen! Und neben der Basis, durften sich auch einige Komponenten auf ein Upgrade freuen: Ein verstaubtes NGINX wich einer aktuelleren Version, aus mySQL wurde die MariaDB weil sie einfach besser performt. Das alte PHP 7.4 wurde auch in Rente geschickt und ich sprang nicht auf die aktuellste, aber auf eine aktuelle 8er Version. Und dann hab ich noch die UFW gegen IPTables gewechselt. Ich sag euch… das fühlt sich an, wie ein neues Haus zu bauen. 😀

Die Konfiguration dauerte dann auch etwas an, denn immerhin wollte ich versuchen genug Performance aus der Kiste zu quetschen. Noch übernimmt das Caching Fast-CGI, wird aber demnächst von Redis ersetzt! Wichtig für den Webshop, eher unbedeutend für die kleineren Blogs. Bis der OPCache richtig konfiguriert war, verging auch mehr Zeit als ich gedacht habe. Ich hab einfach viel zu lang herum probiert und im Millisekundenbereich Werte gemessen. Man kann es auch übertreiben!

Grund 3. DNS, DNS, DNS

Da ich den Serverstandort änderte, wechselte auch die IP Adresse, was zur folge hat, dass ich die DNS Server der Domains anpassen muss. Halb so wild. Allerdings wurde die IP Adresse im Nachgang noch einmal angepasst, was ich dezent verschwitzt habe. 🙂 Die Cronitor Mails haben mich dann zwar darauf hingewiesen, aber da war ich gerade in den Niederlanden und habe das Problem vor mir hergeschoben. Kurz nachdem ich dann Zuhause war, fixxte ich das Problem, jedenfalls vermeintlich, denn ich habe dann die falsche IP Adresse eingegeben. Wie konnte das passieren?

Mein Domainverwalter, welchem ich viele Jahre nun treu bin, hat mir immer ein gutes Package geboten. All meine Domains bekommen bis zu 200 E-Mail Postfächer für 3,99 Euro im Monat. Nun hat sich selbiger dazu entschieden, den Dienst einzustellen und alle Mails auf Office 365 Essentiell umzustellen. Für jeden E-Mail Adresse wären plötzlich 5 Euro fällig geworden… monatlich. Ähh, nein Danke! 🙂

Auch hier kam mir der Gedanke, dass ich den Mail Server ja auch einfach selbst hosten könnte. Das ist zwar noch mal eine Spur gefährlicher, aber hey… no risk no fun. Da Mail Server grundsätzlich auf einem dedizierten Server laufen sollten, habe ich einen kleinen zusätzlichen VPS angemietet. Den Mail Server hatte ich dann ebenfalls nach dem Niederlande Trip in Angriff genommen und versehentlich diese IP Addy verwendet. Drei oder vier Tage Ausfall wegen Schlampigkeit ist auch irgendwie Kunst. 😛

Ende gut, alles gut

Inzwischen läuft alles wieder weitestgehend sauber und der Test Shop funktioniert auch ganz okay. Ich muss noch ein wenig an den Configs feilen, aber da bin ich erst mal guter Dinge. Es ist davon auszugehen, dass es hier und da in den nächsten Tagen/Wochen noch mal hakt, da ich eben noch ein bisschen an den Configs schraube und eben Fast-CGI mit Redis ersetzen möchte. Mal schauen. Es hat wirklich Spaß gemacht noch mal solch ein Baby ins Netz zu zaubern und auszuhärten…auch wenn ich zu Beginn root gebannt hatte, ehe ich einen User angelegt habe: ich hab wieder Blut geleckt. Gucken wir mal, wo uns das hinführt. 🙂

Kategorisiert als:

Markiert als:

, , , ,