cache

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

Über die Defragmentierung von Festplatten

Fast jeder Windowsbenutzer hat es schon einmal gehört: an solle im Laufe der Zeit ab und an seine Festplatte defragmentieren, dies würde die Systemleistung erhöhen und auch dem Cache zugute kommen. Ebenfalls, als weiterer Tipp wird oft empfohlen, den Viewercache auf einer anderen Festplatte (nicht Partition!) als das Systemlaufwerk anzulegen, um zusätzliche Leistungssteigerungen zu erreichen.

Manche löschen sogar ihren Cache vor jedem Start, weil sie meinen, dies würde dem Viewer gut tun, aber natürlich muss so jedes Mal alles (Inventar/Texturen) über das Internet neu auf den heimischen Rechner geholt werden. . Die Frage bei all dem ist aber: wo liegt denn genau die Wahrheit? Die Antwort darauf ist, wie immer, kompliziert.

Die Grundlage der Speicherung: meine Festplatte, das unbekannte Wesen

Als Festplatte bezeichnet man eine oder mehrere sich extrem schnell mit einer magnetisierbaren Schicht überzogenen Scheiben, die von einem mittels Stellmotor betriebenen, auf einem Luftkissen dahingleitenden Schreib-Lese-Kopf beschrieben oder gelesen werden. Wichtig dabei ist, dass diese mechanische Vorrichtung pro Sekunde nur eine gewisse Anzahl an Sprüngen zulässt. Dies ist der wichtigste, limitierende Faktor dabei, nämlich die Anzahl der Suchläufe (Seeks) pro Sekunde, auch gerne Input Output Operations per Second (IOPS) genannt.

Die Entwicklung der letzten Jahre ist dabei (wie hier bei Microsoft in der ersten Grafik gut zu sehen) drastisch gewesen: während die Prozessoren immer schneller und schneller geworden sind, dümpelt die klassische Festplatte weiterhin bei ca. 250 IOPS herum. Die Grafik ist dabei nicht ganz sauber, zeigt aber eines: die Festplatte hinkt heute gehörig der Prozessorentwicklung hinterher, dafür bieten sie inzwischen nie geahnte Speichermöglichkeiten.

Was genau ist Fragmentierung?

Fragmentierung tritt meistens bei größeren Dateien auf. Der Idealfall einer geschriebenen Datei auf der Festplatte ist nämlich, dass diese an einem Stück geschrieben werden kann. Nur so kann die Festplatte ihre theoritische Maximalgeschwindigkeit auch in der Praxis erreichen. Fragmentierung bedeutet aber, dass die Datei in verschiedenen Bereichen der Festplatte geschrieben worden ist, es also dazwischen Sprünge gibt, die für zusätzliche Seeks des Schreib-Lese-Kopfs sorgen und somit die Gesamtleisung herabsetzen. Mehr erfahren