03
Aug
06

PHP - Schnell oder wartbar?

Den richtigen Weg zwischen “Schnell” und “Wartbar” zu finden ist nicht einfach. Wie wichtig Code-Optimierung ist, sieht man an vielen Beispielen. Während „High End“-Root Server oft schon mit einem einzelnem Forum ausgelastet sind, pflegen wir wesentlich schwächere/ältere Systeme, die eine deutlich höhere Anzahl Anfragen verarbeiten.

Hierzu wieder zwei interessante Links:

Gerade die Datenbank ist ein beliebter Engpass. Deshalb sollte man, wann immer möglich, af den unnötigen Overhead verzichten.

  • Viele Anforderungen lassen sich mit einfachen Dateien lösen. Der direkte Zugriff ist schneller, als die Abfrage einer Datenbank. (Die muss schliesslich auch Dateien öffnen …)
  • Eine RAM Disk beschleunigt den Zugriff auf Dateien enorm.
  • Auch Datenbanken lassen sich komplett in den RAM legen. In mySQL nennt sich das MEMORY Storage Engine.
  • mySQL Tabellen lassen sich Partitionieren. Das beschleunigt den Zugriff auf die Daten mitunter enorm. (Date Tutorial, Range Tutorial)

Gerade die Leistung eines Datenbankservers lässt erheblich nach, sobald die abzufragende Tabelle nicht mehr in den Arbeitsspeicher passt. Da zeigt sich dann auch sehr schnell der Unterschied zwischen einem Join und einem WHERE foo.id=bar.id.