Literatur zur Effizienzsteigerung von MySQL im Zusammenspiel mit PHP

SolarCatcher

Well-Known Member
Ich werde demnächst am Relaunch einer Jobbörsen-Webseite arbeiten. Das ganze Ding ist selbstgestrickt und mit der Zeit gewachsen. Da die Pageimpressions in den letzten Jahren recht gut gewachsen sind (ca. 1 Mio PI/Monat), würde ich bei der Weiterentwicklung gerne etwas mehr auf die Performance von MySQL (im Zusammenspiel mit PHP) achten. Bisher war das kaum notwendig.

Natürlich vermeiden wir grundsätzlich "select *" und einiges anderes... aber welche Joins effizienter sind als andere oder was man viellecht doch besser in PHP als in komplizierten SQL statements macht, ist mir unklar.

Kennt jemand eine gute Einstiegsliteratur für das Thema (Buch oder Webseite)? Es geht hier nicht um das Optimieren einer hochfrequentierten Seite à la Facebook... Man könnte auch sagen, es geht um die "low-hanging fruits" - die Sachen, die man einfach mal beachten kann und damit vermutlich schon 2/3 der möglichen Performance-Verbesserung erzielt...
 
Leider kann ich mit mit so etwas nicht dienlich sein, hätte allerdings einen anderen Vorschlag.

Ich weiß jetzt nicht wie das Projekt aussieht und wie weit du gehen willst, aber wie wäre es wenn du MySQL durch NoSQL, wie Redis ersetzt? Damit kann man ziemlich viel herausholen. Mit dem netten Nebeneffekt, dass man SQL los ist. Klar, du musst wohl ein paar Dinge ändern und die Daten konvertieren. Der Aufwand ist aber je nach System nicht unheimlich groß.

http://code.google.com/p/redis/

Wie gesagt weiß ich nicht, ob das etwas ist was du in Betracht ziehen würdest. Performancemäßig kann es einiges bringen.
 
Last edited:
Hallo Athaba,

vielen Dank für Deinen Hinweis - ich muss zugeben, mich mit NoSQL bisher kaum beschäftigt zu haben. Das aber ist auch der Grund, warum wir erstmal mit MySQL weitermachen wollen: Wir setzen das seit Jahren ein und sind soweit sehr zufrieden.

Wir haben bisher keinerlei Probleme mit der Performance und erwarten auch keine in der näheren Zukunft. Aber wenn wir schon Umbauen, wollten wir halt ein wenig Gehirnschmalz auch in die Optimierung stecken oder zumindest die Vermeidung "einfacher" Fehler.

Man findet im Web immer spannende Artikel, was Google, Facebook & Co so alles machen, um noch ein Prozent mehr Performance aus ihrer Hardware zu kitzeln. Aber das ist weit weg von dem, was wir benötigen... Daher suche ich halt Einsteigerliteratur zum Thema.
 
Performancemäßig kann es einiges bringen.
Wenn die MySQL Anwendung schon recht ausgegoren ist, bringt ein Umstieg auf eine NoSQL Datenbank nicht wirklich viel finde ich.

Ich mag Couch- und MongoDB wirklich gerne, aber ein bestehendes, größeres Projekt würde ich niemals darauf migrieren wollen.

Wohingegen wir schon das ein oder andere komerzielle Projekt mittels CouchDB realisiert haben.
 
Bitte beachte auch, dass MySQL durch sein Locking lange Zeit große Probleme hatte auf mehr als 8 Kerne zu skalieren. MySQL 5.5 hat in diesem Bereich massiv zugelegt.
Ich kenne jetzt dein Setup nicht, aber wenn MySQL auf entsprechend großen Maschinen läuft ist es vielleicht auch sinnvoll mal zu schauen ob man das DBMS auf eine neuere MySQL Version updatet.
 
Back
Top