introducción
WWW es una de las aplicaciones más populares en Internet. Su rápido crecimiento ha provocado congestión de la red y sobrecarga del servidor, lo que ha provocado mayores retrasos en el acceso de los clientes y problemas de calidad del servicio WWW. La tecnología de almacenamiento en caché se considera una de las formas efectivas de reducir la carga del servidor, reducir la congestión de la red y mejorar la escalabilidad de WWW. Su idea básica es utilizar el principio de localidad temporal de acceso del cliente para almacenar el contenido al que el cliente ha accedido. Caché. Almacena una copia. Cuando se accede al contenido la próxima vez, no es necesario que esté conectado al sitio web de alojamiento, sino que se proporciona mediante la copia retenida en el caché.
El contenido web se puede almacenar en caché en el lado del cliente, del servidor proxy y del servidor. Las investigaciones muestran que la tecnología de almacenamiento en caché puede mejorar significativamente el rendimiento de la WWW [1][2] y puede aportar los siguientes beneficios:
(1) Reducir el tráfico de la red, aliviando así la congestión de la red;
(2) Reducir el retraso en el acceso del cliente. Las principales razones son: ① Para el contenido almacenado en caché en el servidor proxy, los clientes pueden obtenerlo directamente desde el proxy en lugar de hacerlo desde el servidor remoto, lo que reduce el retraso de transmisión debido. para que la congestión de la red y la carga del servidor se reduzcan para que los clientes puedan obtenerlo más rápido;
(3) Dado que parte del contenido de la solicitud del cliente se puede obtener del proxy, se reduce la carga en el servidor remoto;
(4) Si el servidor remoto no puede responder a la solicitud del cliente debido a una falla del servidor remoto o una falla de la red, el cliente puede obtener una copia en caché del contenido del proxy, lo que mejora la solidez del servicio WWW.
Los sistemas de almacenamiento en caché web también traen los siguientes problemas:
(1) El contenido obtenido por el cliente a través del agente puede estar desactualizado;
(2) Si se produce una invalidación de la caché, la latencia de acceso del cliente aumenta debido a la sobrecarga adicional del procesamiento del proxy. Por lo tanto, al diseñar un sistema de caché web, uno debe esforzarse por maximizar la tasa de aciertos de la caché y minimizar el costo de las fallas;
(3) El agente puede convertirse en un cuello de botella. Por lo tanto, se debe establecer un límite superior en el número de clientes del servicio y un límite inferior en la eficiencia del servicio para un agente, de modo que la eficiencia de un sistema de agente sea al menos tan eficiente como la de los clientes conectados directamente al servidor remoto.
En la actualidad, se han llevado a cabo investigaciones extensas y profundas sobre los sistemas de almacenamiento en caché web y sus problemas de optimización, y estos trabajos de investigación se centran principalmente en el papel de los servidores proxy.
2 Características ideales de un sistema de almacenamiento en caché web Un sistema de almacenamiento en caché web ideal debe tener las siguientes características:
(1) Velocidad: el sistema de almacenamiento en caché debería poder reducir eficazmente los retrasos en el acceso de los clientes;
(2) Robustez: Robustez significa disponibilidad y los clientes quieren que los servicios web estén disponibles en cualquier momento;
(3) Transparencia: el sistema de almacenamiento en caché debe ser transparente para los clientes, y los resultados obtenidos por los clientes son solo una respuesta rápida y buena disponibilidad;
(4) Escalabilidad: el sistema de almacenamiento en caché web debería poder escalarse bien a medida que el tamaño y la densidad de la red continúan creciendo;
(5) Eficiencia: cuanto menor sea la sobrecarga que el sistema de almacenamiento en caché web aporta a la red, mejor;
(6) Adaptabilidad: el sistema de almacenamiento en caché puede adaptarse a cambios dinámicos en las solicitudes de los clientes y el entorno de red, lo que implica administración de caché, enrutamiento de caché, configuración de proxy, etc., y es crucial para obtener un rendimiento de caché ideal;
(7) Estabilidad: la solución adoptada por el sistema de almacenamiento en caché web no debe traer inestabilidad a la red;
(8) Equilibrio de carga: una solución de almacenamiento en caché ideal debería poder distribuir uniformemente la carga a toda la red para evitar que un determinado agente o servidor se convierta en un cuello de botella o punto de acceso, provocando una degradación del rendimiento de parte del sistema o incluso de todo el sistema;
(9) Capacidades de procesamiento heterogéneas: a medida que la escala de la red y el área de cobertura continúen aumentando, la red abarcará una serie de arquitecturas de hardware y software diferentes. Los sistemas de almacenamiento en caché web deberían poder adaptarse a diferentes arquitecturas de red;
(10) Simplicidad: las soluciones simples son fáciles de implementar y generalmente aceptadas. Una solución de almacenamiento en caché web ideal debe ser simple y fácil de configurar.
Centrándonos en las características anteriores, un sistema de almacenamiento en caché web debe resolver los siguientes problemas:
(1) Arquitectura de caché: cómo se organizan y configuran los servidores proxy de caché en la red;
(2) Cooperación de agentes: cómo cooperar entre agentes. Los agentes que cooperan entre sí pueden aumentar la tasa de aciertos y mejorar el rendimiento del sistema de caché;
(3) Enrutamiento de caché: cuando falla un proxy de caché, cómo reenviar la solicitud a otros proxy de caché;
(4) Algoritmo de reemplazo de caché: cuando el espacio de caché no es suficiente, cómo reemplazar el contenido del caché;
(5) Coherencia de la caché: es decir, la puntualidad del contenido almacenado en caché y cómo evitar que el contenido almacenado en caché quede obsoleto;
(6) Captación previa de contenido: cómo el agente decide capturar previamente contenido del servidor u otros agentes para reducir el retraso en el acceso del cliente;
(7) Equilibrio de carga: cómo resolver el fenómeno de los "puntos calientes" en la red;
(8) Contenido de la caché: qué tipo de contenido se puede almacenar en caché.
Al diseñar un sistema de almacenamiento en caché web, se deben abordar las cuestiones anteriores.
3 Descripción general de las soluciones de almacenamiento en caché web
3.1 Arquitectura de caché web El rendimiento de un sistema de caché web depende del tamaño de su base de clientes. Cuanto mayor sea la base de clientes, mayor será la probabilidad de que se solicite nuevamente el contenido almacenado en caché. Los grupos de caché que cooperan entre sí pueden aumentar la tasa de aciertos y mejorar el rendimiento del sistema de caché. Por lo tanto, la arquitectura del sistema de caché debe garantizar que los agentes puedan cooperar de manera efectiva. Las arquitecturas de caché típicas incluyen las siguientes: jerárquica, distribuida e híbrida.
Figura 1 Diagrama de arquitectura del sistema de almacenamiento en caché web
3.1.1 Arquitectura de caché jerárquica
El proyecto Harvest [3] propuso por primera vez una arquitectura de almacenamiento en caché web jerárquica. En la arquitectura de caché jerárquica, la caché se configura en múltiples niveles en la red, como se muestra en la Figura 1(a). En aras de la simplicidad, se supone que hay cuatro niveles: caché de capa inferior, caché de capa local, caché de capa regional y caché de capa de área amplia. La capa inferior es la caché del cliente/navegador. Cuando la caché del cliente no puede satisfacer la solicitud del cliente, la solicitud se reenvía a la capa de caché del área local. Si aún no se satisface, la solicitud se reenvía a la capa de caché regional hasta el ancho. Caché de capa de área. Si la solicitud no puede satisfacerse en las cachés de todos los niveles, la solicitud finalmente se reenvía al servidor. Luego, la respuesta del servidor a la solicitud se envía de arriba hacia abajo al cliente, dejando una copia en cada caché de nivel medio a lo largo del camino. Otras solicitudes para el mismo contenido se reenvían de abajo hacia arriba hasta que se satisfacen en un cierto nivel de caché.
La arquitectura de almacenamiento en caché jerárquico es muy eficiente en cuanto al ancho de banda y el contenido web con altas tasas de clics se puede distribuir a la red de manera rápida y eficiente. Sin embargo, esta arquitectura también tiene algunas deficiencias[4]:
(1) Establecer una arquitectura de caché jerárquica. Los servidores de caché deben configurarse en puntos de acceso clave en la red y los servidores de caché deben cooperar entre sí;
(2) Cada nivel de caché traerá un retraso adicional;
(3) La caché de alto nivel puede convertirse en un cuello de botella y provocar largos retrasos en las colas;
(4) Se almacenan varias copias del mismo contenido en diferentes cachés y la utilización del espacio de caché de todo el sistema no es alta.
3.1.2 Arquitectura de caché distribuida En vista de las deficiencias mencionadas anteriormente de la estructura de caché jerárquica, algunos investigadores han propuesto una arquitectura de caché distribuida. En esta estructura, solo hay un caché de bajo nivel, como se muestra en la Figura 1(b). En la estructura de caché web distribuida de la literatura [5], no existe una capa de caché intermedia más allá de la capa local, y las cachés cooperan entre sí para manejar fallas. Para determinar qué caché de capa de área local reenviar la solicitud del cliente para obtener el contenido no válido, cada caché de capa de área local retiene una copia de la información del directorio del contenido almacenado en caché en otras cachés de capa de área local, de modo que la solicitud del cliente pueda ser reenviado con precisión cuando se produce una invalidación Al caché de la capa local correspondiente. Cache Array Routing Protocol CARP [6] (Cache Array Routing Protocol) es un esquema de almacenamiento en caché distribuido que divide el espacio de URL en diferentes partes y asigna cada parte a un grupo de caché débilmente acoplado. Cada caché solo puede almacenar en caché contenido web que tenga una URL asignada. a él, lo que permite determinar a qué caché reenviar la solicitud en función de la URL desde la que el cliente solicitó el contenido.
En una estructura de caché distribuida, la mayor parte del tráfico de la red se produce en la parte inferior de la red, lo que es menos probable que cause congestión en la red. La utilización del espacio de la caché es alta, se puede compartir mejor la carga y la tolerancia a fallas es mejor. Sin embargo, la configuración de un sistema de caché distribuido a gran escala puede encontrar varios problemas: gran número de conexiones, altos requisitos de ancho de banda y difícil gestión [4].
3.1.3 Arquitectura de caché híbrida La arquitectura híbrida se muestra en la Figura 1 (c). La caché al mismo nivel adopta una estructura de caché distribuida y coopera entre sí. El protocolo de caché de Internet ICP (Protocolo de caché de Internet) diseñado por Harvest Group admite la obtención del contenido correspondiente del caché principal o del caché vecino con el RTT más pequeño.
3.1.4 La investigación sobre optimización de la arquitectura de caché muestra que [4] en comparación con la estructura de caché distribuida, la arquitectura de caché jerárquica tiene un tiempo de conexión más corto, por lo que los documentos más pequeños se almacenan en caché en la capa intermedia. La latencia de acceso a la caché se puede reducir; tiempo de transmisión y mayor utilización del ancho de banda. La solución ideal es combinar los dos para aprovechar al máximo sus respectivas fortalezas y al mismo tiempo reducir el tiempo de conexión y de transmisión.
3.2 Enrutamiento de caché Teniendo en cuenta la escalabilidad del sistema de almacenamiento en caché web, la mayoría de los sistemas de almacenamiento en caché dispersan una gran cantidad de caché en Internet. El mayor problema que esto genera es cómo localizar rápidamente el caché que almacena en caché el contenido requerido. . Este problema es algo similar al enrutamiento de la red, pero no se puede resolver de la misma manera. El enrutamiento de red tradicional puede basarse en la agrupación de direcciones (la representación jerárquica de direcciones hace posible la agrupación de direcciones), pero en WWW, es posible que los documentos con el mismo prefijo de URL o prefijo de dirección de servidor no se envíen al mismo cliente, lo que dificulta el enrutamiento. agrupados de modo que la tabla de enrutamiento de caché se vuelve inmanejablemente grande. Además, el contenido de la caché se actualiza constantemente y la información de enrutamiento de la caché desactualizada provocará su invalidación. Para reducir el costo de la falla de la caché, un algoritmo de enrutamiento de caché ideal debería enrutar la solicitud del cliente al siguiente proxy, que tiene una mayor probabilidad de acertar y está ubicado en o cerca de la ruta de red del cliente al servidor.
3.2.1 Método de tabla de enrutamiento de almacenamiento en caché
Malpani et al. [7] combinaron un grupo de caché. Cuando la solicitud del cliente se reenvía al caché especificado, si el caché tiene el contenido solicitado, se enviará al cliente. a través de multidifusión de IP, otros cachés en el mismo grupo responden a la solicitud del cliente desde el caché que almacena en caché el contenido correspondiente. Si el contenido solicitado no se almacena en ningún caché, la solicitud se reenvía al servidor de origen. El sistema de almacenamiento en caché Harvest[3] organiza el caché en una estructura jerárquica y utiliza el protocolo de resolución de caché ICP (Protocolo de caché de Internet). Cuando se produce una falla en el caché, el caché de nivel inferior primero consulta el caché del nodo hermano antes de reenviar la solicitud del cliente al cliente. caché de nivel superior. Si el contenido correspondiente se almacena en caché para evitar sobrecargar la caché de nivel superior. El sistema de almacenamiento en caché web adaptativo [8] establece un árbol de caché para cada servidor. Los cachés en el árbol se organizan en grupos de multidifusión superpuestos y una solicitud obtiene el contenido almacenado en caché correspondiente a través de estos grupos de transmisión. Este método construye un árbol de caché diferente para cada servidor, por lo que no hay problemas de sobrecarga del nodo raíz y la autoconfiguración y la solidez son relativamente buenas. Sin embargo, las solicitudes de contenido con tasas de clics bajas pueden pasar por más cachés, lo que genera una mayor sobrecarga de comunicación en caché. El autor recomienda limitar la cantidad de cachés por las que pasan las solicitudes para resolver este problema.
3.2.2 Método de función hash
El protocolo de enrutamiento de matriz de caché CARP [6] utiliza una función hash basada en la lista de miembros de la matriz y la URL para determinar la dirección de caché exacta de un objeto web o dónde se debe almacenar en caché un objeto web. En Summary Cache [9], cada proxy guarda una información resumida de URL del contenido almacenado en caché por otros servidores proxy en el mismo grupo. El proxy verifica esta información resumida al reenviar la solicitud del cliente para determinar a qué proxy reenviar la solicitud. Para reducir los gastos generales, esta información resumida se actualiza periódicamente. Los experimentos muestran que este sistema puede reducir significativamente la cantidad de información entre cachés, el consumo de ancho de banda y la sobrecarga de CPU causada por el protocolo, mientras mantiene casi la misma tasa de aciertos de caché que ICP.
3.3 Algoritmo de reemplazo de caché
El algoritmo de reemplazo de caché es un factor importante que afecta el rendimiento del sistema de caché proxy. Un buen algoritmo de reemplazo de caché puede producir una mayor tasa de aciertos. Los algoritmos que se han propuesto hasta ahora se pueden dividir en las tres categorías siguientes:
(1) Algoritmo de reemplazo tradicional y su evolución directa. Sus algoritmos representativos son: ①Algoritmo LRU (menos utilizado recientemente): reemplaza el contenido utilizado menos recientemente del caché ②Algoritmo LFU (alquiler de uso frecuente): reemplaza el contenido menos visitado del caché; Cache Cache; ③Pitkow/Recker[10] propuso un algoritmo de reemplazo: si todos los contenidos del Cache se almacenan en caché el mismo día, el documento más grande se reemplazará del Cache; de lo contrario, se reemplazará de acuerdo con el algoritmo LRU.
(2) Algoritmo de reemplazo basado en las características clave del contenido de la caché. Sus algoritmos representativos incluyen: ① Algoritmo de reemplazo de tamaño [10]: reemplaza el contenido más grande del caché ② Algoritmo de reemplazo LRU-MIN [11]: este algoritmo se esfuerza por hacer que el contenido de la caché sea más grande. documento reemplazado individual El menor número. Supongamos que el tamaño del documento que se almacenará en caché es S, y los documentos almacenados en caché con un tamaño de al menos S se reemplazan de acuerdo con el algoritmo LRU, si no hay ningún objeto con un tamaño de al menos S, LRU; El algoritmo se utiliza a partir de documentos con un tamaño de al menos S/2; ③LRU: algoritmo de reemplazo de umbral [11]: igual que el algoritmo LRU, excepto que los documentos cuyo tamaño excede un cierto umbral no se pueden almacenar en caché. 12] algoritmo de reemplazo: reemplaza el documento con el menor retraso de acceso fuera del caché.
(3) Algoritmo de reemplazo basado en costos. Este tipo de algoritmo utiliza una función de costo para evaluar los objetos en el caché y finalmente determina el objeto de reemplazo en función del valor del costo. Sus algoritmos representativos son: ① Algoritmo híbrido [12]: el algoritmo asigna una función de utilidad a cada objeto en la caché y reemplaza el objeto con el valor de utilidad más pequeño de la caché. ② Algoritmo de valor relativo más bajo [13]: reemplaza el objeto con; el valor de utilidad más bajo del caché; ③ Algoritmo de reemplazo con el menor costo normalizado (LCNR): este algoritmo utiliza una función de inferencia sobre la frecuencia de acceso a los documentos, el tiempo de transmisión y el tamaño para determinar los documentos de reemplazo; propuso un método basado en el costo del tiempo de transmisión del documento, el tamaño y la función de inferencia ponderada del último tiempo de acceso para determinar el reemplazo del documento. Algoritmo ⑤Size-Adjust LRU (SLRU) [16]: ordenar los objetos almacenados en caché según la relación del costo; al tamaño y seleccione el objeto con la proporción más pequeña para reemplazarlo.
En resumen, para maximizar la tasa de aciertos de la caché, se ha trabajado mucho en torno al algoritmo de reemplazo de la caché. Sin embargo, el rendimiento del algoritmo de reemplazo depende en gran medida de las características del acceso a WWW. manejar todos los modos de acceso web son mejores que otros algoritmos.
3.4 Coherencia del caché
El sistema de almacenamiento en caché web puede reducir la latencia de acceso, pero tiene un efecto secundario: la copia en caché proporcionada a los clientes puede ser contenido desactualizado, por lo que se debe implementar un mecanismo de consistencia de caché para garantizar que el contenido en caché pueda actualizarse y validarse oportunamente. manera, con el fin de proporcionar a los clientes el contenido más reciente.
Actualmente existen dos tipos principales de coherencia de caché: coherencia de caché fuerte y coherencia de caché débil.
3.4.1 Fuerte consistencia de caché (1) Confirmación del cliente: para cada acceso, el proxy considera que el contenido almacenado en caché está desactualizado y envía un encabezado "IF-Modified-Since-date" al servidor con la solicitud. Si el contenido cambia después del tiempo especificado, el servidor envía el contenido actualizado al agente y eventualmente al cliente, si el contenido solicitado no ha sido modificado, se devuelve una respuesta "304", que indica que el documento no ha sido modificado; y el contenido almacenado en caché continúa siendo eficiente.
(2) Confirmación del servidor: cuando el servidor detecta que un contenido ha cambiado, envía información de invalidación a todos los clientes que han solicitado recientemente el contenido y pueden haberlo almacenado en caché [17]. Este método requiere que el servidor guarde una lista vinculada de clientes que acceden al contenido para poder enviar información no válida. Cuando el número de clientes es grande, este método dejará de ser aplicable. Al mismo tiempo, la lista vinculada en sí también puede quedar obsoleta. , lo que hace que el servidor envíe mensajes a muchos clientes que ya no están en caché. A los clientes de este contenido se les envía información no válida.
3.4.2 Consistencia de caché débil (1) Mecanismo TTL adaptativo [18] (tiempo de vida): al observar la vida útil de un documento para ajustar su tiempo de supervivencia, resolviendo así el problema de consistencia de caché. Si un documento no ha sido modificado durante un período de tiempo considerable, tenderá a no volver a cambiar. De esta manera, al atributo de duración de un documento se le asigna un porcentaje de la "antigüedad" actual del documento (igual a la hora actual menos la hora de la última modificación). El método TTL adaptativo puede controlar la posibilidad de que un documento quede obsoleto en menos del 5%. La mayoría de los servidores proxy utilizan este mecanismo, pero este mecanismo de coherencia de la caché basado en la duración del documento no garantiza la validez del contenido almacenado en la caché.
(2) Mecanismo de invalidación combinado
Krishnamurthy et al. propusieron utilizar un mecanismo de invalidación complementario para mejorar la eficiencia de la coherencia del caché. Propusieron tres mecanismos: ① Mecanismo de validación de caché Piggyback (PCV) [19]: utiliza solicitudes enviadas por el proxy al servidor para mejorar la coherencia del caché. Por ejemplo, cuando un proxy realiza una solicitud al servidor, transporta una serie de contenido almacenado en caché, pero posiblemente desactualizado, del servidor para confirmar la validez. ② Mecanismo de invalidación del servicio Piggyback (PSI) [20] (Invalidación del servicio Piggyback): la idea básica; es que cuando el servidor responde al proxy, le informa al servidor proxy una serie de contenidos que han cambiado desde el último acceso del proxy y el proxy invalida estos contenidos, extendiendo así el tiempo de caché de otro contenido almacenado en caché en la caché ③ PSI; y mecanismo híbrido PCV [21]: este mecanismo determina qué mecanismo utilizar para lograr el mejor rendimiento general en función del tamaño del intervalo actual desde que el agente invalidó la última solicitud. Si este intervalo de tiempo es pequeño, se utiliza el mecanismo PSI; de lo contrario, se utiliza el mecanismo PCV para confirmar el contenido de la caché. El principio básico es que cuanto menor sea el intervalo de tiempo, menor será el número de anulaciones enviadas junto con el PSI, pero a medida que aumenta el tiempo, la sobrecarga de enviar anulaciones será mayor que la sobrecarga de solicitar confirmación.
3.5 Captación previa de contenido
La tecnología de almacenamiento en caché web puede mejorar el rendimiento de la Web, pero las investigaciones muestran [22] que no importa qué esquema de almacenamiento en caché se utilice, la tasa máxima de aciertos de caché no suele ser superior al 40 o 50%. Para mejorar aún más la tasa de aciertos de la caché, se introduce la tecnología de captación previa. La tecnología de captación previa es esencialmente una tecnología de almacenamiento en caché activa. Su idea básica es utilizar el conocimiento previo del contenido o modo de acceso del cliente para predecir el contenido de la próxima solicitud del cliente al procesar la solicitud actual y utilizar el contenido solicitado del cliente para almacenar en caché el contenido de predicción. el caché para ocultar mejor la latencia y mejorar la calidad del servicio.
Las primeras investigaciones se centraron en la captación previa de contenido entre navegadores/clientes y servidores web. Cuando se introdujeron los proxies, el interés de la gente en la investigación se centró en la tecnología de captación previa entre proxies y servidores. Las investigaciones muestran que la tecnología de captación previa puede reducir eficazmente la latencia de acceso de los clientes, pero la tecnología de captación previa sigue siendo controvertida por dos razones:
(1) La captura previa de contenido es una tarea con altos requisitos de tiempo real. Utiliza principalmente el intervalo de solicitudes de los clientes, y este intervalo generalmente es inferior a un minuto [23]. , la captación previa dejará de tener sentido. Por lo tanto, existen mayores requisitos para la eficiencia del algoritmo de captación previa.
(2) La captación previa de contenido reduce el tiempo de respuesta del cliente a expensas del aumento de la carga del servidor y el tráfico de la red, por lo que existen mayores requisitos para la precisión de la captación previa. Al mismo tiempo, un modelo de captación previa debe considerar las características de acceso del cliente, la carga del servidor y las condiciones del tráfico de la red al determinar la cantidad de documentos captados previamente. La captación previa sin estos factores puede tener efectos contraproducentes.
En resumen, un buen modelo de captación previa debe tener alta eficiencia y precisión a bajo costo. Se necesita más investigación sobre la eficiencia y precisión de la captación previa.
3.5 Equilibrio de carga Cuando muchos clientes obtienen datos o servicios de un servidor al mismo tiempo, se producirá el fenómeno Hot Spot, lo que provocará una degradación del rendimiento del servidor o incluso una falla. La mayoría de los métodos actuales para abordar este problema consisten en utilizar alguna estrategia de replicación para almacenar el contenido solicitado en Internet, distribuyendo así la carga a múltiples servidores (agentes) [24] para evitar que un solo servidor se convierta en un cuello de botella.
3.6 Almacenamiento en caché de contenido Un proxy puede desempeñar múltiples funciones Además del almacenamiento en caché de datos, también puede realizar almacenamiento en caché de conexiones y cálculos. El almacenamiento en caché de conexión se refiere al uso de conexiones persistentes entre el cliente y el agente, y el agente y el servidor, para reducir la sobrecarga de establecer una conexión TCP y la sobrecarga de inicio lento cuando el servidor envía, reduciendo así el tiempo de demora en el acceso del cliente [25 ]. El almacenamiento en caché computacional puede verse como servidores web que pueden migrar algunos de sus servicios a servidores proxy para aliviar los cuellos de botella del servidor. Una de sus aplicaciones es el almacenamiento en caché de datos dinámicos, que almacena en caché datos dinámicos a través de servidores proxy y migra parte de los cálculos a servidores proxy, que son generados por. servidores proxy y mantener datos dinámicos en caché, mejorando así el rendimiento de los clientes en la obtención de datos dinámicos.
4 Cuestiones que requieren mayor investigación Se ha llevado a cabo una gran cantidad de investigaciones sobre la tecnología de almacenamiento en caché web y se han logrado resultados fructíferos, pero todavía hay algunas cuestiones que requieren mayor investigación. Estas cuestiones incluyen:
(1) Investigación sobre patrones de acceso de clientes: al estudiar los patrones de acceso de clientes, podemos realizar mejor la gestión de caché y la captación previa de contenido, y mejorar la tasa de aciertos de caché;
(2) Almacenamiento en caché de datos dinámicos: una razón importante por la que la tasa de aciertos del caché web actual no es alta es que una parte considerable del contenido (datos privados, datos autorizados, datos dinámicos, etc.) no se puede almacenar en caché. Cómo hacer que más datos se puedan almacenar en caché y cómo reducir el retraso en el acceso de los clientes a páginas no almacenadas en caché se ha convertido en una cuestión clave para mejorar el rendimiento web;
(3) Características del tráfico web: la eficiencia del sistema de almacenamiento en caché reside en la localidad temporal de los flujos de acceso a la web y las buenas estrategias de gestión de la caché. Comprender las características de carga generadas por los clientes web es de gran importancia para diseñar y proporcionar mejores servicios web;
(4) Configuración de proxy: para obtener un buen rendimiento web, la configuración de proxy es crucial. Los estándares ideales para las estrategias de configuración de proxy son: autoorganización, enrutamiento eficiente, equilibrio de carga, comportamiento estable, etc. Se necesita más investigación sobre este tema.
En resumen, la investigación de vanguardia para mejorar el rendimiento web radica en el desarrollo de soluciones de almacenamiento en caché que sean escalables, robustas, adaptables, estables, eficientes y que puedan configurarse mejor en las redes actuales y futuras.
Wang Shike Wu Ji Jin Shiyao
(Laboratorio Estatal Clave de Paralelismo y Distribución, Facultad de Informática, Universidad Nacional de Tecnología de Defensa, Changsha 410073)
-