Für einen Kunden arbeite ich gerade daran, den Server zu entlasten. Nun habe ich bereits einige Optimierungen vorgenommen, von MySQL Server besser konfigurieren, über PHP Accelerator installieren, SQL Statements optimieren, Indexes anlegen oder entfernen, etc. Nun experimentiere ich ein wenig mit Output Caching. Die Idee ist, dass die Seite nur einmal alle paar Minuten generiert werden muss, um so in meinem Fall vor allem die Datenbank zu entlasten.
Die Seite, auf welcher ich das Caching jetzt angewendet habe, verwendet einige Dutzend Datenbankabfragen und mehrere davon sind sehr Zeitintensiv. Bessere Index-Erstellung ist leider nicht praktikabel, da die INSERTs sehr schnell sein müssen.
Der Ansatz, den ich momentan verwende stammt von Dave Child und ist in seinem Artikel Caching output in PHP beschrieben.