Anleitung: wie man den Phoenix Viewer mit dem Squid-Cache betreibt
Das Problem
Wir alle kennen das doch in Second Life: man hat inzwischen Speicherplatz ohne Ende, aber aus verschiedenen Gründen kann man nach wie vor den Cache (also Zwischenspeicher) des Viewers maximal auf 1 GB einstellen und danach ist Feierabend. Dieser Speicher ist dabei auch schneller voll, als einem lieb ist und da viele von uns häufig den Cache auch bei diversen Problemen löschen, wird sein ohnehin schon geringer Nutzen nur noch mehr geschmälert, ohnehin funktioniert er auch sonst nicht besonders gut. Gerade bei den heutigen Speichermonstern sollte es ohne Problem möglich sein, z.B. 10-20 GB an Speicherplatz für Texturen einzustellen, bisher geben das alle Viewer aber nicht her.
Die Idee
Im Internet sind Proxy-Caches ein alter Hut, eine ausgereifte Technik und kostenlos verfügbar. Ein Proxy-Cache – wir benutzen hier dabei die Software Squid 2.7 – ist nichts anderes als ein zwischen dem eigenen Rechner und Internet dazwischen geschaltetes Programm, das anstelle des Viewers die Texturen herunterlädt und lokale Kopien in einer geeigneten Struktur auf der Festplatte anlegt. Ist erst einmal eine Textur lokal auf der Festplatte gespeichert, dann wird sie direkt von der Festplatte gelesen und nicht mehr erst mühselig aus dem Internet geladen.
Früher war dies übrigens schlecht möglich, seitdem aber Linden Lab als Standardtransportprotokoll für Texturen das altbekannte HTTP, mit dem auch jede Webseite arbeitet, eingeführt hat ist dies recht einfach machbar.
Die Lösung
Die aktuellen Phoenix-Viewer erlauben die direkte Angabe eines Proxy-Caches. Wer also Phoenix ohnehin nutzt, der kann dies recht einfach aktivieren, hier in dem Beispiel beschreibe ich die Installation unter Windows ab XP.
Ein Problem bei der Sache ist, dass Linden Lab für den Aufruf derselben Textur in der URL auch den Simnamen vorkommen hat. Man muss also den Squid dazu bringen, dass er für jede Textur intern dieselbe URL (Adresse) speichert, damit es auch wirklich gut funktioniert. Dafür bedarf es eines Features namens storeurl_rewrite, das nur in Squid bis Version 2.7 verfügbar ist. In aktuelleren Versionen mit einer 3 davor ist es nicht vorhanden und daher sind diese für diesen Zweck unbrauchbar. Mehr erfahren