Kräss – MySQL und WordPress auf SSD

Ui.

Mein Mac läuft ja schon eine „kleine“ Weile mit einer SSD, mir sind also die Vorteile von SSDs durchaus geläufig.

Leider aber auch die Nachteile – Plattenplatz geht so aber mal richtig ins Geld.

Auf dem neuen Server wollte ich dann nicht wirklich mehrere Tausender für ein paar TB Speicher ausgeben. Da schieden SSDs direkt aus. Also mussten WD Red-Platten her, immerhin auch nicht gerade die billigsten, dafür aber ausgelegt auf Dauerbetrieb und Standhaftigkeit (wollen wir mal einfach hoffen, dass das keine reine Werbung ist…).

Auch wenn CPU und Speicher und überhaupt im neuen Server alles eine ganze Klasse besser ausgefallen ist als in der Synology DS415+, die wir bis vor ein paar Tagen als Server eingesetzt haben, so war die Backend-Performance vom WordPress doch immer noch etwas „schwach“.

Also vorhin gestern Nacht im Schweiße meines Angesichts (ich habe unglaubliche Rückenschmerzen *rumjammer*) eine kleine SSD (240GB) reingekabelt und dann rumprobiert.

MySQL

Zunächst mal sollte die Datenbank auf die SSD. Mirko denkt sich, „machst du symbolische Verlinkungen, dann passt dat“. Aber nöööööööööö. AppArmor mag das nicht. Ich hasse AppArmor, schon sehr lange. Uns verbindet eine Hass-Liebe.

Also in mysqld.cnf ein bisschen geändert:

datadir = /mnt/ssd/mysql

Natürlich vorher MariaDB mit „service mysql stop“ runtergefahren – und dann alles rüberkopiert (außer den Log-Dateien, die erstellt MariaDB/MySQL ja beim Starten neu).

Bisschen uffpasse, die Rechte sollten gleich bleiben, also idealerweise so etwas wie rsync -av dafür nehmen. Auch an den neuen „Ordner“ denken (… oh man wie die Zeiten vermisse, als man noch Verzeichnis oder Directory statt Ordner oder Folder sagte…), der braucht ggf. auch die passenden Rechte, damit neue Dateien dort mit dem richtigen Bub angelegt werden (bei mir chown -R mysql:mysql mysql/).

MySQL/MariaDB wieder gestartet und – es läuft.

Apache2

Als nächstes dann die eigentliche Webseite rüber. Unfassbar… wo ich überall echte Pfade in den Bashscripten, PHP-Dateien und sonstigem verwurstet habe. Da rächt sich wieder die frühere Faulheit… also erst mal eine Weile die Pfadangaben geändert (nicht per find und xargs und sed, ich hatte Sorge, dass da was falsches umgeändert wird).

Dann DocumentRoot und ein paar <Directory>-Dinger angepasst.

Läuft.

Fazit

Wenn das jetzt ein echtes Porno-Blog wäre, würde ich sagen, dass ich nen Dauerdicken hatte.. alter Schwede flutscht das jetzt.

Das Backend fühlt sich an wie eine richtige Software (also eine, die lokale auf dem Rechner läuft, nicht mit Java oder sonstiger Scheiße geschraubt wurde, und generell von einem entwickelt wurde, der noch Bock auf optimalen Code hatte und dessen erster Gedanken nicht ist, „wo gibbet da ein Framework zu“ – da wir WordPress einsetzen, fällt mir gerade so ein bisschen die Ironie auf… aber hei, ist hier mein Blog, ich kann hier rumsticheln, wie ich möchte *g*).

Schon nen bisschen geil 😀

P.S.

Ich erwähnte, dass wir natürlich PHP7 mit OpCache einsetzen (hhvm war mir zu frickelig) und jetzt den Redis auch als Object-Cache nutzen?

P.P.S.

Apropos… wenn ihr im WordPress das Plugin Redis Object Cache einsetzen solltet, passt bitte unbedingt WP_REDIS_DATABASE (in wp-config.php) an. Default ist 0 – und die war bei mir schon vom rspamd und seinen Bayes-Dingern belegt… wisst ihr, was passiert, wenn das Plugin seinen Cache löscht? Jaaaaaaaa… der ballert Database 0 einfach leer… OH MAN.

Wie gut, dass ich gerade dabei war, die Backup-Scripte neu zu gestalten/einzusetzen. So war alles notwendige gesichert, ich hätte jetzt eher überschaubare Lust gehabt, noch mal den Bayes-Filter mit Spam zu befüttern.

Zum Thema Backupscripte könnte ich auch noch was schreiben. Später vielleicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.