Para el rendimiento global, resulta generalmente beneficioso escalar la arquitectura y no sólo añadir partes individuales de hardware. Por mucha cantidad de hardware que se añada a una sola máquina, ese hardware tiene un nivel máximo de rendimiento.
En esta sección se discuten cuestiones relacionadas con la arquitectura de la red que deben tenerse en cuenta a la hora de incorporar la funcionalidad del Caching Proxy a la red.
Si el sitio web de la empresa es popular, es posible que exista una mayor demanda de sus contenidos de la que pueda satisfacer un único servidor proxy eficazmente, lo que ocasionará cierta lentitud en los tiempos de respuesta. Para optimizar el rendimiento de la red, considere la inclusión de máquinas del Caching Proxy agrupadas en clúster con equilibrio de carga, o el uso de una arquitectura de memoria caché compartida con RCA (Remote Cache Access) en la arquitectura general de la red.
Una forma de escalar la arquitectura es agrupar en clúster los servidores proxy y utilizar el componente Load Balancer para equilibrar la carga entre ellos. La agrupación en clúster de los servidores proxy es una consideración de diseño ventajosa no solo por razones de rendimiento y escalabilidad sino también por razones de redundancia y fiabilidad. Un único servidor proxy representa un único punto de anomalía; si este falla o se vuelve inaccesible a causa de una anomalía en la red, los usuarios no podrán acceder al sitio web.
Considere asimismo una arquitectura de memoria caché compartida con RCA. Una arquitectura de memoria caché compartida reparte toda la memoria caché virtual entre diversos servidores del Caching Proxy que, normalmente, utilizan un protocolo entre memorias caché como el Protocolo de memoria caché de Internet (ICP) o el Protocolo de direccionamiento de matriz de memorias caché (CARP). El RCA está diseñado para maximizar la proporción de impactos en las memorias caché agrupadas en clúster al facilitar una gran memoria caché virtual.
Las ventajas de rendimiento resultan de la utilización de una matriz RCA de servidores proxy frente a un único Caching Proxy autónomo o incluso un clúster de máquinas autónomas del Caching Proxy. En su mayor parte, las ventajas para el rendimiento vienen dadas por el aumento del tamaño de toda la memoria caché virtual, lo que maximiza la proporción de impactos en memoria caché y minimiza la incoherencia y latencia de la memoria caché. Con el RCA, sólo reside en la memoria caché una copia de un documento determinado. Con un clúster de servidores proxy, aumenta el tamaño de la memoria caché total, pero es posible que varios servidores proxy recuperen y almacenen en caché la misma información. Por lo tanto, no aumenta la proporción total de impactos en memoria caché.
El RCA suele utilizarse en los escenarios de sistemas principales que alojan contenidos de grandes empresas. No obstante, la utilidad del RCA no está limitada a los despliegues de empresas de dimensiones extremas. Tome en consideración el uso del RCA si la carga de la red requiere un clúster de servidores de memoria caché y si la mayoría de las solicitudes representan impactos en memoria caché. Según la configuración de la red, el RCA no siempre mejorará el rendimiento de la empresa debido a un aumento del número de conexiones TCP que utiliza un cliente en la configuración del RCA. Es así porque un miembro RCA no es responsable solamente de atender a los URL para los que tiene la puntuación más alta, sino que también debe reenviar las solicitudes a otros miembros o clústeres si obtiene una solicitud referente a un URL para el que no tiene la puntuación más alta. Esto significa que cualquier miembro determinado de una matriz RCA puede tener más conexiones TCP abiertas de las que tendría si funcionara como un servidor autónomo.
Las contribuciones principales a un mejor rendimiento parten de las posibilidades de almacenamiento en caché del Caching Proxy. No obstante, la memoria caché del servidor proxy puede convertirse en un cuello de botella si no se configura correctamente. Para determinar la mejor configuración de la memoria caché, será necesario hacer un esfuerzo significativo a fin de analizar las características del tráfico. El tipo, el tamaño, la cantidad y los atributos de los contenidos afectan al rendimiento del servidor proxy por lo que respecta al tiempo que tardan en recuperarse los documentos de los servidores de origen y por lo que respecta a la carga del servidor. Cuando conozca el tipo de tráfico que el Caching Proxy va a permitir o a servir desde su memoria caché, podrá incluir como factor estas características al configurar el servidor proxy. Por ejemplo, saber que el 80% de los objetos que se almacenarán en memoria caché son imágenes (*.gif o *.jpg) y que tienen, aproximadamente, 200 KB de tamaño puede realmente servir de ayuda para ajustar los parámetros de la memoria caché y para determinar el tamaño de la misma. Además, comprender que la mayor parte del contenido son páginas dinámicas personalizadas que no son candidatas para almacenar en memoria caché es también pertinente para ajustar Caching Proxy.
El análisis de las características del tráfico le permite determinar si el uso de una memoria caché de disco o de memoria puede optimizar el rendimiento de la memoria caché. Asimismo, familiarizarse con las características del tráfico de red le permite determinar si puede significar una mejora en el rendimiento el uso de la función de almacenamiento en caché dinámica del Caching Proxy.
Las memorias caché de disco son apropiadas para sitios con gran cantidad de información a almacenar en memoria caché. Por ejemplo, si los contenidos del sitio son de un volumen elevado (superior a los 5 GB) y existe un índice de impactos en memoria caché del 80 al 90%, es recomendable una memoria caché de disco. No obstante, se sabe que utilizar una memoria caché de memoria (RAM) es más rápido y que hay muchos escenarios en que utilizar una memoria caché de sólo memoria es factible para los sitios grandes. Por ejemplo, si el índice de impactos en la memoria caché del Caching Proxy no tiene tanta importancia o si debe utilizarse una configuración de memoria caché compartida, resultará práctica una memoria caché de memoria.
El Caching Proxy puede almacenar en memoria caché e invalidar el contenido dinámico (JSP y resultados de servlet) generado por la memoria caché dinámica de WebSphere Application Server, lo que proporciona una extensión virtual de la memoria caché de Application Server en memorias caché basadas en la red. Habilitar el almacenamiento en caché de contenidos generados dinámicamente es beneficioso para el rendimiento de la red en un entorno en que se efectúen muchas solicitudes de páginas web públicas producidas dinámicamente, las cuales caduquen basándose en la lógica de la aplicación o en un suceso, tal como un mensaje de base de datos. La duración de la página es finita, pero no puede establecerse un desencadenante de caducidad en el momento de crearla; por lo tanto, los sistemas principales sin una función de almacenamiento en caché dinámica e invalidación deben designar este tipo de página con un valor de tiempo de vida de cero.
Si uno o varios usuarios solicitan esta página generada dinámicamente más de una vez a lo largo de su duración, el almacenamiento en caché dinámica proporciona una liberación valiosa de la carga a fin de reducir la carga de trabajo en los sistemas principales que alojan contenidos de la red. Utilizar el almacenamiento en caché dinámica también mejora el rendimiento de la red brindando una mayor rapidez de respuesta a los usuarios al eliminar retardos en la red y reduciendo el uso del ancho de banda debido a la disminución de viajes a través de Internet.