Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03198.jsonl.gz/1450

Verteiltes Caching
Eine äusserst effiziente Methode zur Beschleunigung von Webseiten und Webapplikationen ist das Cachen von Seitenbestandteilen oder ganzen Seiten. Doch auch beim Caching lässt sich noch mehr Leistung herauskitzeln, wenn man nicht auf die verhältnismässig langsame Festplatte setzt.
Jedem seinen Cache
Mittlerweile bringen die meisten Frameworks und Template-Engines Caching-Funktionalität mit. Als Zwischenspeicher wird meistens die Festplatte verwendet, da ihre Verwendung sehr einfach ist. Doch sind Festplatten im Vergleich zum Arbeitsspeicher sehr langsam, so dass man mit der Nutzung von Arbeitsspeicher als Cache viel Leistung gewinnen kann. Die direkte Nutzung des Arbeitsspeichers ist zwar oftmals möglich, macht allerdings nicht viel Sinn. Dies, da die meisten Scriptsprachen, welche zur Webseiten-Erzeugung verwendet werden, einen Prozess pro Request benötigen, so dass oftmals Dutzende von parallelen Prozessen pro Maschine vorhanden sind, die alle ihren eigenen Cache vorhalten müssten. Die Chance eines sogenannten Cache-Hit, bei dem ein Objekt im Cache gefunden wird, ist also deutlich tiefer als bei der Festplatte, bei der sich alle Prozesse einen Cache teilen können. Umgehen lässt sich das Prozess-Problem mit System V Shared Memory, speziellen Arbeitsspeicher-Segmenten, die der Interprozesskommunikation vorbehalten sind. Beide Methoden haben aber das Problem, dass die Caches nur auf eine einzelne Maschine beschränkt sind, was bei grösseren Installationen mit 20 und mehr Servern mit fast identischen Caches wieder viele Ressourcen vergeudet.