Apache + MySQL - "Tuningfragen"

peterle

Forenkasper
Ich darf/muß mal mit meinem Board umziehen. Nun sind da unter anderem 2.5 Millionen Beiträge, die gerne jeder einzeln angefasst werden wollen, um sie fein säuberlich in die neue DB einzusortieren, wobei dann am Schluß nochmal über alles drübergebügelt wird, damit auch alles schön konsistent ist.

Nun möchte ich kein Reenginierng machen und auch keine eigenen Hacks für eine Conversion schreiben, aber vielleicht aus dem Setup rauskitzeln, was rauszukitzeln ist.

Aktuell schafft er ca. 600 Beiträge pro Minute aus der DB zu saugen und einzusortieren - nach Überblick mit Stoppuhr.

Was sind denn hier die limitierenden Faktoren und wie kann ich die u.U. verbessern?

MySQL ist mit mysqltuner und tuning-primer auf ca. 8-9GB maximalen RAM ausgelegt und läuft damit sicher vor sich hin. Richtig ins Schwitzen komt er bei der Sache auch nicht.
Der Apache auf einem anderen Server läuft auf event mit php-fpm und beides zusammen müßte auch bis 8-9GB maximalen RAM ausgelegt sein. Ins Schwitzen kommt auch der nicht.

Ich nehme mal an, daß Knackpunkte noch in der internen Netzwerkgeschwindigkeit liegen könnten - wobei ich nicht weiß, wie ich das testen sollte. Dann in der Lese- und Schreibgeschwindigkeit der Platten. Mehr RAM, mehr CPU wird vermutlich nicht wirklich was bringen.

Übersehe ich was oder sonst welche Tipps?
 
Ich habe solche Belastungstests nie gemacht, aber z.B. eine kleine aber schon deutlich messbare Verlangsamung einer einzelnen Abfrage zwischen Verbindung per Socket vs. Verbindung per IP gefunden. Bei mir läuft MariaDB in einer eigenen Jail, daher wollte ich wissen, was da der Performance-Nachteil ist. Wenn Du die Wahl hast, verbinde Dein php-fpm also direkt per Socket mit dem MySQL-Server, das spart den Overhead der IP-Verbindung.
 
Ich habe solche Belastungstests nie gemacht, aber z.B. eine kleine aber schon deutlich messbare Verlangsamung einer einzelnen Abfrage zwischen Verbindung per Socket vs. Verbindung per IP gefunden. Bei mir läuft MariaDB in einer eigenen Jail, daher wollte ich wissen, was da der Performance-Nachteil ist. Wenn Du die Wahl hast, verbinde Dein php-fpm also direkt per Socket mit dem MySQL-Server, das spart den Overhead der IP-Verbindung.

Den habe ich nicht ganz verstanden - wenn die Verbindung vom Web- zum DB-Server nur per LAN geht, wie soll ich dann an das Socket kommen? Oder meinst Du besser alles auf einen Server und statt je 12GB besser 64GB?
 
Entschuldigung. Ich hatte überlesen, dass der Apache "auf einem anderen Server" läuft. Dann ziehe ich meinen Kommenar zurück (er ist zwar korrekt, passt aber nicht zu Deinem Use Case).
 
Zurück
Oben