lighttpd vor den Apache2 schalten für statische Inhalte

Apache, Lighttpd, nginx, Cherokee
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland

lighttpd vor den Apache2 schalten für statische Inhalte

Post by sfeni » 2006-11-22 21:07

Hi,

ich überlege mir gerade, ob ich unseren Server ein bisschen tunen soll, da der momentan doch ziemlich ausgelastet ist.
(teilweise konstant 60%-95% CPU allein vom Apache2)

Ich habe mich nun ein bisschen eingelesen, was es für Möglichkeiten usw. gibt. Gefallen hat mir die Idee mit dem vorgeschaltenen lighttpd sehr gut, der statische Inhalte wie Bilder, Stylesheets, Javascripts, ... ausliefert. Alles andere wie z.B. PHP dateien wird dann per mod_proxy an den Apache2 weitergeleitet, der dann nicht mehr auf Port 80 sondern auf z.B. Port 8081 hört.

Beispiel:
lighttpd - Port 80 (0.0.0.0)
apache2 - Port 8081 (127.0.0.1)

Eine HTTP Anfrage kommt an den lighttpd
Ist es ein jpg/gif/css/js/png dann liefer die Datei aus
Alles andere per mod_proxy an 127.0.0.1:8081

Ich denke das würde die derzeitige Lage sehr entspannen, da derzeit 80% aller HTTP Anfragen Bilder, Stylesheets, usw... sind und der Apache dadurch ziemlich viel RAM frisst.
Komplett umsteigen auf lighttpd möchte ich nicht, da ich mich nun so an den Apache2 gewöhnt habe und ich denke dass er mit PHP immer noch am Besten läuft.

Was haltet Ihr denn davon?
Macht das Sinn?
Was gibt es bei dieser Konstellation zu beachten?
Erfahrungen, Meinungen, ...?

Danke! :)

juergen
Posts: 133
Joined: 2004-03-30 14:44

Re: lighttpd vor den Apache2 schalten für statische Inhalte

Post by juergen » 2006-11-22 22:56

Na, das wird nicht viel bringen, wenn du den Teil der 0% CPU brauchst, auf den lighthttp schiebst. Optimiere lieber die PHP Skripte, rüste den Server auf oder besorg dir einen weiteren Server..

dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: lighttpd vor den Apache2 schalten für statische Inhalte

Post by dotme » 2006-11-22 23:43

mpm_event und mod_fcgid wären auch eine interessante Kombination. Habe selber leider noch keine Zeit gefunden diese auszuprobieren.