Linux als Proxy-Server - Optimierung

Trennung von RAM- und Festplatten-Cache

Theoretisch steht der Administrator also nun vor einem Dilemma: Lieber GDSF und damit kurze Antwortzeiten oder eher weniger Traffic mit LFUDA? Einen Mittelweg bietet sich durch die Kombination der beiden Verfahren an. Ermöglicht wird dies durch die Tatsache, dass Squid sowohl einen Cache-Bereich im Hauptspeicher wie auch einen Cache auf der Festplatte verwaltet. Für beide lassen sich unterschiedliche Strategien angeben. Es bietet sich also an, den RAM-Cache mit GSDF, den Festplatten-Cache per LFUDA zu organisieren. Tragen Sie dazu einfach zwei Zeilen in die Konfigurationsdatei /etc/squid/squid.conf ein:

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

Zwei weitere Parameter spielen eine ebenfalls nicht unwesentliche Rolle: maximum_object_size und maximum_object_size_in_memory. Letzterer bestimmt, wie groß ein Objekt maximal sein darf, um im Speicher gehalten zu werden. Voreingestellt sind hier 8 KByte. Überschreitet ein Objekt diese Größe, wird es in den Festplatten-Cache ausgelagert - dies allerdings nur, wenn es nicht größer ist als unter maximum_object_size angegeben. Der Vorgabewert ist hier mit 4096 KByte eher konservativ angesetzt. Besitzer von ausreichend freier Harddisk-Kapazität sollten daher lieber ein Limit von 100 MByte oder mehr wählen.

Vergessen Sie nach dem Anpassen der Parameter nicht, Squid neu zu starten. Wie immer bei Änderungen an der Konfiguration ist es ratsam, beim ersten Neustart die Parameter -N -debug zu verwenden. Nur so können Sie die Bildschirmausgaben von Squid sehen und eventuelle Probleme erkennen. Bemängelt Squid nach der Änderung der Cache-Strategien unbekannte Removal Policies, dann müssen Sie die Quelltexte neu übersetzen und dabei die Option --enable-removal-policies="lru heap" angeben.