Für die Gesamtleistung ist es im Allgemeinen vorteilhaft, die Architektur als Ganzes zu skalieren und nicht nur einzelne Hardwarekomponenten. Unabhängig davon, wie viel Hardware Sie einer einzelnen Maschine hinzufügen, diese Hardware hat trotzdem eine maximale Leistungsgrenze.
In diesem Abschnitt werden Aspekte der Netzarchitektur beschrieben, die Sie bei Einführung der Caching-Proxy-Funktionalität in Ihr Netz beachten müssen.
Ist die Website Ihres Unternehmens sehr populär, besteht unter Umständen eine höhere Nachfrage nach Inhalten, als ein einzelner Proxy-Server verarbeiten kann, was lange Antwortzeiten zur Folge haben kann. Zur Optimierung der Netzleistung sollten Sie in Erwägung ziehen, Cluster von Proxyserver-Maschinen mit Lastausgleich oder eine Architektur mit gemeinsamem Cache und RCA (Remote Cache Access) in Ihrer Gesamtnetzarchitektur einzusetzen.
Eine Möglichkeit zum Skalieren der Architektur besteht darin, dass Sie Cluster von Proxy-Servern bilden und die Komponente Load Balancer für die Verteilung der Arbeitslast auf diese Proxyserver verwenden. Das Clustering von Proxy-Servern ist eine nützliche Designmaßnahme, die sich nicht nur auf Leistung und Skalierbarkeit vorteilhaft auswirkt, sondern auch Redundanzen vermeidet und die Zuverlässigkeit erhöht. Ein einzelner Proxy-Server stellt einen Single Point of Failure dar. Falls er ausfällt oder aufgrund eines Netzfehlers nicht mehr zugänglich ist, können die Benutzer nicht mehr auf die Website zugreifen.
Sie sollten auch eine Architektur mit gemeinsamem Cache und RCA in Erwägung ziehen. In einer Architektur mit gemeinsamem Cache wird der gesamte virtuelle Cache auf mehrere Caching-Proxy-Server verteilt. Diese Server verwenden in der Regel ein Intercache-Protokoll wie Internet Cache Protocol (ICP) oder Cache Array Routing Protocol (CARP). RCA dient dazu, die Trefferquoten im Cache eines Clusters zu erhöhen, indem ein großer virtueller Cache bereitgestellt wird.
Leistungsverbesserungen werden erzielt, indem anstelle einer einzelnen Stand-alone-Caching-Proxy-Maschine oder auch eines Clusters von Standalone-Caching-Proxy-Maschinen eine RCA-Gruppe von Proxy-Servern verwendet wird. In der Regel werden die Leistungsverbesserungen durch die höhere insgesamt verfügbare virtuelle Cache-Kapazität erzielt, wodurch sich die Cache-Trefferquote erhöht und Abweichungen und Verzögerungen im Cache auf ein Minimum reduziert werden. Bei Verwendung von RCA wird nur eine Kopie eines gegebenen Dokuments im Cache gespeichert. Bei einem Cluster von Proxy-Servern erhöht sich zwar die Cache-Kapazität insgesamt, aber wahrscheinlich werden jedoch mehrere Proxyserver dieselben Informationen abrufen und zwischenspeichern. Die Gesamttrefferquote im Cache erhöht sich folglich nicht.
RCA wird in der Regel in großen Unternehmen eingesetzt, die Inhaltshosts verwenden. Allerdings sind die Vorteile von RCA nicht nur auf den Einsatz in sehr großen Unternehmen beschränkt. Sie können RCA beispielsweise auch dann einsetzen, wenn die Arbeitslast im Netz die Verwendung eines Clusters von Cache-Servern erfordert und die Mehrzahl der Anforderungen sich auf im Cache gespeicherte Informationen beziehen. In bestimmten Netzkonfigurationen führt der Einsatz von RCA jedoch nicht zu einer besseren Leistung im Unternehmen. Dies hängt mit der größeren Zahl von TCP-Verbindungen zusammen, die ein Client verwendet, wenn RCA konfiguriert wird. Ein RCA-Member ist nämlich nicht nur dafür verantwortlich, die URLs bereitzustellen, für die es selbst die höchste Trefferquote aufweist, sondern es muss auch Anforderungen an andere Member oder Cluster weiterleiten, wenn es eine URL-Anforderung erhält, für die es selbst nicht die höchste Trefferquote hat. Dies bedeutet, dass ein bestimmtes Member einer RCA-Gruppe mehr offene TCP-Verbindungen haben kann, als dies der Fall wäre, wenn es als Standalone-Server arbeiten würde.
Einen großen Beitrag zur Leistungsverbesserung leisten die Caching-Funktionen von Caching Proxy. Der Cache des Proxy-Servers kann jedoch einen Engpass darstellen, wenn er nicht ordnungsgemäß konfiguriert ist. Um die beste Cache-Konfiguration zu bestimmen, ist es notwendig, einen größeren Aufwand zu betreiben und die Merkmale des Datenverkehrs genau zu analysieren. Art, Größe, Menge und Attribute des Inhalts haben Auswirkungen auf die Leistung des Proxy-Servers, was sich in der Zeit, die zum Abrufen eines Dokuments von den Ursprungsservern benötigt wird, und in der Arbeitslast des Servers bemerkbar macht. Wenn Sie die Art des Datenverkehrs bestimmen können, den Caching Proxy weiterleitet oder aus seinem Cache bedient, dann können Sie diese Merkmale bei der Konfiguration des Proxy-Servers berücksichtigen. Wenn Sie beispielsweise wissen, dass 80 % der im Cache gespeicherten Objekte Bilder sind (*.gif oder *.jpg) und ungefähr eine Größe von 200 KB aufweisen, dann ist diese Information für Sie sicher nützlich bei der Optimierung der Caching-Parameter und beim Festlegen der Cache-Größe. Wenn Sie darüber hinaus wissen, dass die meisten Inhalte angepasste dynamische Seiten sind, die nicht im Cache gespeichert werden, dann kann Ihnen dies ebenfalls bei der Optimierung von Caching Proxy helfen.
Indem Sie die Merkmale des Datenverkehrs analysieren, können Sie bestimmen, ob Sie die Leistung des Cache eher durch einen Speicher-Cache oder eher durch einen Platten-Cache optimieren können. Außerdem hilft Ihnen die Kenntnis der Merkmale des Netzverkehrs bei der Entscheidung, ob durch das dynamische Caching von Caching Proxy eine Leistungsverbesserung erzielt werden könnte.
Platten-Caches eignen sich für Sites, für die große Datenmengen zwischengespeichert werden müssen. Wenn der Inhalt der Site umfangreich (mehr als 5 GB) ist und eine Cache-Trefferquote von 80 bis 90 % aufweist, dann ist die Verwendung eines Platten-Cache zu empfehlen. Allerdings ist bekannt, dass ein Speicher-(RAM)-Cache schneller ist, und es gibt viele Szenarios, in denen sich ein Speicher-Cache auch für große Sites eignet. Wenn die Cache-Trefferquote von Caching Proxy beispielsweise nicht so wichtig ist oder eine Konfiguration mit gemeinsamem Cache verwendet wird, empfiehlt sich die Verwendung eines Speicher-Cache.
Caching Proxy kann dynamische Inhalte (JSPs und Servlet-Antworten), die vom dynamischen Cache des WebSphere Application Server generiert werden, zwischenspeichern und ungültig machen (invalidieren) und ermöglicht auf diese Weise eine virtuelle Erweiterung des Cache von Application Server auf netzgestützte Caches. Das Caching von dynamisch generierten Inhalten verbessert die Netzleistung in einer Umgebung, in der viele Anforderungen nach dynamisch generierten öffentlichen Webseiten gestellt werden, wobei diese Webseiten auf der Basis der Anwendungslogik oder auf der Basis eines Ereignisses, z. B. einer Nachricht von einer Datenbank, verfallen. Die Lebensdauer der Seite ist zwar begrenzt, aber zum Zeitpunkt ihrer Erstellung kann kein Verfallsauslöser definiert werden. Aus diesem Grund müssen Hosts ohne dynamisches Caching und Invalidierungsfunktion einer solchen Seite eine Lebensdauer von null zuweisen.
Wird eine solche dynamisch generierte Seite während ihrer Lebensdauer von einem oder mehreren Benutzern häufiger angefordert, dann bietet das dynamische Caching eine wertvolle Entlastung und verringert die Arbeitslast der Inhaltshosts im Netz. Mit dynamischem Caching verbessert sich auch die Netzleistung, weil Benutzer aufgrund der geringeren Netzverzögerungen und der geringeren Arbeitslast im Netz, die durch weniger Internet-Abfragen erreicht wird, schneller bedient werden können.