Quellenangabe = Downloadlink

Gestern ist mir bei der routinemäßigen Kontrolle unserer Zugriffsstatistik was aufgefallen – eine mir bis dahin unbekannte Seite hat uns verlinkt.

Neugierig wie immer

Na gut, ich gucke immer gerne, wer uns da so mag 🙂 Und die Seite ist auch tatsächlich recht sympathisch.

Nennt sogar Quellenangaben zu Bildern, die sie verlinken. Sie verlinken nämlich hart auf unseren CDN – wie gut, dass ich die Bilder nicht bei uns auf der NAS hoste…

Und nennt als Quelle dann sowas

https://d3ascfmjoinskn.cloudfront.net/wp-content/uploads/DSC_9148-1024x683.jpg

Ja ähm… *kopf* *tisch*

Optimierungsorgie

In den letzten Tage habe ich für unsere Webseite (nicht die hier, hier ist nix optimiert, hier läuft nen nacktes WordPress mit einem Simple-Theme und nem einfachen WP Suppencache) Optimierungen am MySQL-Server vorgenommen.

Na – eigentlich ist es gar kein MySQL-Server. Sondern ein Percona MariaDB 5.5.50. Und nach nächtelanger Recherche in den Unweiten des Internets habe ich mich gefragt, ob unsere Datenbankzugriffe eigentlich schnell genug sind.

Ehrgeiz, wieso auch nicht

Wir hatten Anfragezeiten, die ich natürlich mit diversen Tools untersucht habe, die so insgesamt bei 1 bis 2 Sekunden für das Zusammensuchen sämtlicher Infos für eine Seite betrugen. Bei einem selbstgelöteten Redis-Cache, der die Benutzer der Seite beliefert (mit Auslieferungszeiten unterhalb der Wahrnehmungsgrenze) und diversen weiteren Optimierungen, die für Zugriffszeiten sorgen, die bei weniger als 15% aller Webseiten erreicht werden (so GTMetrix und andere) und das alles über eine kleine NAS, die bei uns im Keller steht, kann man ja nicht zufrieden sein, wenn die Backend-Benutzer mit so einer „lahmen Krücke“ auskommen müssen.

Tableengine tauschen

Also. Ran ans Werk. Fangen wir erst mal damit an, dass wir die Engine von MyISAM auf InnoDB umstellen. Ein simples

alter table engine=InnoDB;

reicht dafür schon.

Panik durch „Expertennetz“

Im Vorfeld habe ich mich fast eingenässt, weil ich so viel Unsinn darüber im Netz der Netze gefunden habe. Von „wird extrem lahm, wenn man das umstellt“ bis „vorher unbedingt alle Daten sichern, am Besten in einen atombombensicheren Kellergewölbe bei Neumond“ alles dabei.

Und was soll ich sagen. Bei einer winzigkleinen Testtabelle war das kein Thema, alles wie vorher.

Faule Informatiker

Aber ich hatte jetzt echt keinen Bock das für sämtliche Tabellen unserer Datenbank per Hand zu machen – Informatiker sind faul, die 2000€-Kisten auf unserem Schreibtisch sollen mal in die Puschen kommen… also Stackoverflow angeworfen und bei den richtigen Profis „Inspiration“ geholt (wie gesagt, wir sind faul – wieso das Rad neu erfinden *g*).

Da plumpst der Dicke über folgenden Auszug:

alter table in PHP
alter table in PHP

Ja ne is kla – ich baue mir doch kein PHP-Script dafür… mit SQL muss das doch auch gehen, immerhin kann man damit ja alles machen (für geeignete Werte von „alles“ und für geeignete & gedachte Werte von „kann“):

alter table SQL
alter table SQL

Viel besser.

Das was dabei raus kommt, dann doch direkt in die Datenbank löten:

mysql alter in ssh terminal
mysql alter in ssh terminal