Utilisation d'une mémoire cache partagée

Il n'est pas rare que le trafic sur un point de présence Web soit trop important pour être géré par un seul serveur. Une solution consiste à ajouter des serveurs. Lorsque plusieurs serveurs proxy avec mémoire cache sont utilisés, il arrive fréquemment que le contenu des différentes mémoires cache se chevauche. Outre que la redondance de données est anti-productive, la bande passante n'est pas totalement optimisée puisqu'un fichier en mémoire cache est extrait une nouvelle fois du serveur origine quand il ne réside pas dans la mémoire cache du serveur proxy duquel il émane. S'il est possible de réduire les mises en mémoire cache redondantes en utilisant une chaîne hiérarchique de serveurs proxy, ce scénario provoque toujours une augmentation du trafic sur un serveur donné et chaque maillon supplémentaire dans la chaîne accroît les temps d'attente.

Le partage de cache permet d'y remédier en permettant aux caches de partager leur contenu les uns avec les autres. La largeur de bande nécessaire est bien inférieure pour les raisons suivantes :

Les deux méthodes permettant d'utiliser plusieurs caches comme s'il s'agissait d'un cache logique unique sont les suivantes :

Cependant, RCA et ICP sont utilisables conjointement.

Remote cache access (RCA)

Lors de la planification de la fonction RCA, tenez compte des recommandations suivantes :

L'accès à distance à la mémoire cache n'est pas approprié si l'une de ces conditions n'est pas respectée, ou si différentes organisations gèrent des serveurs différents, membres du même tableau.

Configuration de la fonction RCA (Remote Cache Access)

Pour configurer la fonction RCA, dans les formulaires de configuration et d'administration, sélectionnez Configuration de la mémoire cache –> Remote Cache Access. Ce formulaire contient des zones permettant de définir un tableau nommé qui partage une mémoire cache logique. Entrez les informations requises pour chaque membre du tableau.

Pour configurer la fonction RCA en modifiant le fichier de configuration du fichier, voir les sections de référence dans l'Annexe B. Directives du fichier de configuration pour les directives suivantes :

Configuration du plug-in Internet Caching Protocol

Le plug-in ICP (Internet Caching Protocol) permet à Caching Proxy d'interroger d'autres mémoires cache compatibles ICP au cours de ses recherches de pages HTML et d'autres ressources à mettre en mémoire cache. Lorsqu'un serveur proxy reçoit une demande HTTP, il recherche la ressource en question dans sa propre mémoire cache. Si la ressource ne se trouve pas dans son cache local et que le plug-in ICP est actif, le serveur proxy lance une recherche en boucle de l'URL dans un paquet de requêtes ICP et place ce paquet dans toutes les mémoires cache homologues ICP identifiées. Si une mémoire cache homologue détecte la ressource, le serveur d'origine la récupère dans cette mémoire cache. Si plusieurs mémoires cache homologues répondent de façon positive, le traitement de la première réponse commence. Si aucune mémoire cache homologue ne la détecte, le serveur d'origine continue la recherche en fonction de son flux de travail. Par exemple, le serveur proxy peut appeler un autre plug-in, poursuivre le traitement avec la routine Remote Caching Access (si RCA est activé) ou récupérer la ressource demandée.

Configuration du plug-in ICP

Le plug-in ICP est activé et configuré en modifiant le fichier de configuration proxy, ibmproxy.conf. Pour pouvoir initialiser le plug-in ICP, vous devez ajouter une directive ServerInit, une directive PreExit, ou les deux, à la section directives API du fichier configuration.conf. Les directives utilisées dépendent du rôle que joue Caching Proxy dans le système ICP :

Pour créer cette directive, modifiez manuellement le fichier ibmproxy.conf ou, si le serveur proxy est en cours d'exécution, utilisez le formulaire de configuration et d'administration pour sélectionner Configuration du serveur –> Traitement des demandes –> Traitement des demandes API.

En effet, des directives données à titre de prototype ont été ajoutées (sous forme de commentaires) à la section API du fichier ibmproxy.conf. Ces directives API sont placées dans un ordre délibérément choisi. Lors de l'ajout de directives d'API pour permettre de nouvelles fonctionnalités et l'utilisation de plug-ins, respectez l'ordre dans lequel figurent les directives dans la section Prototypes du fichier de configuration. Vous pouvez également supprimer les marques de commentaires et modifier, si nécessaire, les directives API pour chacune des fonctionnalités ou chacun des plug-ins souhaités.

Les directives ServerInit et PreExit ont deux arguments chacune : (1) le chemin qualifié complet d'accès à la bibliothèque partagée et (2) l'appel à la fonction. Les deux derniers arguments doivent être délimités par deux points (:). Le premier argument est propre au système et dépend de l'endroit où sont installés les composants du plug-in. Le deuxième argument est défini dans le code de la bibliothèque partagée et doit être tapé exactement comme il apparaît dans cette dernière.

Chacune de ces directives doit figurer sur une seule ligne dans le fichier de configuration du proxy.

ServerInit chemin_de_bibliothèque_partagée:icpServer

Exemple Linux et UNIX :

ServerInit /opt/ibm/edge/cp/internet/lib/plugins/icp/libicp_plugin.so:icpServer

Exemple Windows :

ServerInit C:\Program Files\IBM\edge\cachingproxy\cp\Bin\plugins\icp\icpplugin.dll:icpServer
PreExit chemin_de_bibliothèque_partagée:icpClient

Exemple Linux et UNIX :

PreExit /opt/ibm/edge/cp/internet/lib/plugins/icp/libicp_plugin.so:icpClient

Exemple Windows :

PreExit C:\Program Files\IBM\edge\cachingproxy\cp\Bin\plugins\icp\icpplugin.dll:icpClient

Pour configurer les paramètres du plug-in, ajoutez ou modifiez les directives ICP* disponibles dans le fichier de configuration du proxy. Pour plus d'informations, reportez-vous aux descriptions des directives suivantes.