Apache Caching modul
Florian Lohoff
flo at rfc822.org
Thu Nov 29 11:35:18 CET 2007
On Thu, Nov 29, 2007 at 10:46:37AM +0100, Peter Ohlerich wrote:
> Hallo!
>
> Ich habe folgendes Problem:
>
> Meine Daten liegen auf einem zentralen NFS-Server. Ich möchte die
> Dateien per Apache ausliefern. Das läuft unter Normalbedingungen ganz
> gut, aber bei Lastspitzen ist es etwas hinderlich, das die Daten 2x
> durch das Netzkabel müssen (rein ins System und raus zum Enduser).
> Mir sind dort zwei Module für den Apachen aufgefallen:
>
> mod_mem_cache und mod_disk_cache
>
> Die Dinger sind ja noch als experimentell gekennzeichnet. Kennt sich
> jemand mit den Dingern aus und hat sie erfolgreich am Start? Kann
> man die auch irgendwie benutzen um per <Limit></Limit> geschützte
> Sachen zu cachen?
mod_mem_cache habe ich bisher nur von gelesen. Das problem soll sein
das der cache pro prozess ist d.h. je nach mpm worker modell hat man
auch schonmal das selbe object mehrfach im ram hat. Wenn man jetzt in
multi-gigabyte dimensionen denkt ist das nicht weiter schlimm aber schoen
ist das auch nicht. Eine weitere idee waere auch ein reverse-squid vor dem
apache was ja auch okay waere. Alternativ auch "varnish" was in etwa
wie ein squid funktioniert aber leider auch von leuten programmiert wird
die eine DJ Bernstein attituede haben ...
Ich habe den mod_disk_cache mal erfolgreich eingesetzt - Der holt das
zeug aus dem filesystem und speichert das dann auf lokalen platten um es
beim naechsten mal von da zu holen. Klappt ziemlich gut.
Einziges "problem" ist das der kein LRU expiry der sachen auf der cache
platte macht. Daher habe ich das via regelmaessigen cronjob erschlagen.
Muss man dann nen bischen finetunen und gibts auch bestimmt in schoener.
So sah meine config aus:
# CacheRoot /cache/apache
# CacheDirLevels 2
# CacheDirLength 1
# CacheMaxFileSize 100000000
# CacheMinFileSize 10000
# CacheMaxExpire 3600
# CacheDefaultExpire 3600
# CacheEnable disk /debian/pool
Mit dem CacheEnable cached der nur bestimmte files aus dem Baum.
Den expire finde ich gerade nicht mehr - im prinzip war das aber ein
find /cache/apache -type f -amin +480 -exec rm {} \;
D.h. alles files mit acess time groesser 8 stunden im cache loeschen.
Muss man dann nen bischen tunen das der cache nicht zu gross wird.
Sicher moeglich waere auch ein expire bis eine bestimmte groesse
unterschritten ist.
Flo
--
Florian Lohoff flo at rfc822.org +49-171-2280134
Those who would give up a little freedom to get a little
security shall soon have neither - Benjamin Franklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20071129/cd091109/attachment.sig>
More information about the Linux
mailing list