Ich habe jetzt die Bilder auf einen zweiten Server ausgelagert - müsste eigentlich nun schneller von statten gehen.
Lass sie erst einmal auf dem selben Server aber installiere einen Server für statische Inhalte - z.B. NGINX. Auch kannst du Apache durch Lighttpd ersetzen.
Datenbankabfragen kannst du super in memcached speichern. Wäge ab wann du memcached und wann APC reicht (APC ist standartisiert in PHP 6, warum also nicht jetzt schon nutzen?!). Die Datenbankabfragen hier zu lassen bringt schon einmal einiges.
-
Minimiere Javascript-Files und CSS-Files. Gib Caching-Angaben für diese an. (Apache Mod-Expires).
-
Ausserdem gibst du keine Bild-Dimensionen an! Gib jedem Bild Höhe und Breite an, dann nimmst du dem Browser Arbeit beim Rendern ab.
-
Bilder solltest du auch Cachen
-
Schonmal was von GZIP/Deflate - Komprimierung gehört? Ich rate dir zur Deflate-Komprimierung (mod_deflate bei Apache). Komprimiere alles bis auf Bilder, das ist zu aufwendig. JS, CSS, HTML kann komprimiert werden.
Der Rest ist doch schonmal ok.
Ein Tipp - wenn du die Bilder auslagern möchtest, nutze doch Googles App engine als CDN: http://www.digitalistic.com/2008/06/09/10-easy-steps-to-use-google-app-engine-as-your-own-cdn/
Oder lass sie wie gesagt auf dem selben Server per Nginx oder auf einem zweiten Server - aber wichtig, Cookiefrei. Suche dir einen Webserver aus der statische Inhalte schneller zur Verfügung stellt als Apache. tux, thttpd, lighttpd, nginx.