ADC

Mise en cache intégrée

Le cache intégré fournit un stockage en mémoire sur l’appliance NetScaler et diffuse du contenu Web aux utilisateurs sans qu’il soit nécessaire d’aller et retour vers un serveur d’origine. Pour le contenu statique, le cache intégré nécessite peu de configuration initiale. Une fois que vous avez activé la fonctionnalité de cache intégrée et effectué la configuration de base (par exemple, en déterminant la quantité de mémoire de l’appliance NetScaler que le cache est autorisé à utiliser), le cache intégré utilise des stratégies intégrées pour stocker et diffuser des types spécifiques de contenu statique, notamment de simples pages Web et des fichiers image. Vous pouvez également configurer le cache intégré pour stocker et diffuser du contenu dynamique marqué comme non mis en cache par les serveurs Web et d’applications (par exemple, les enregistrements de base de données et les cotations boursières).

Remarque :

Le terme Cache intégré peut être utilisé de façon interchangeable avec AppCache ; notez que d’un point de vue fonctionnel, les deux termes signifient la même chose.

Lorsqu’une demande ou une réponse correspond à la règle (expression logique) spécifiée dans une stratégie intégrée ou une stratégie que vous avez créée. L’appliance NetScaler exécute l’action associée à la stratégie. Par défaut, toutes les stratégies stockent les objets mis en cache et les récupèrent depuis le groupe de contenus par défaut. Vous pouvez créer vos propres groupes de contenus pour différents types de contenu.

Pour permettre à l’appliance de rechercher des objets mis en cache dans un groupe de contenus, vous pouvez configurer des sélecteurs. Les sélecteurs font correspondre les objets mis en cache aux expressions, ou vous pouvez spécifier des paramètres pour rechercher des objets dans le groupe de contenus. Si vous utilisez des sélecteurs comme recommandé par Citrix, configurez-les d’abord afin de pouvoir spécifier des sélecteurs lorsque vous configurez des groupes de contenu. Configurez ensuite les groupes de contenu que vous souhaitez ajouter, afin qu’ils soient disponibles lorsque vous configurez les stratégies. Pour terminer la configuration initiale, créez des banques de stratégies en liant chaque stratégie à un point de liaison global ou à un serveur virtuel. Vous pouvez également lier une étiquette pouvant être appelée depuis d’autres banques de stratégies.

La mise en cache intégrée peut être améliorée à l’aide de la méthode de préchargement des objets mis en cache avant leur expiration planifiée. Pour gérer la gestion des données mises en cache, vous pouvez configurer des en-têtes relatifs à la mise en cache insérés dans les réponses. Le cache intégré peut également servir de proxy de transfert pour d’autres serveurs de cache.

Remarque :

La mise en cache intégrée nécessite une certaine connaissance des requêtes et des réponses HTTP. Pour plus d’informations sur la structure des données HTTP, consultez les en-têtes HTTP dynamiques à l’adresse "<http://livehttpheaders.mozdev.org/>."

Fonctionnement du cache d’intégration

Le cache intégré surveille les requêtes HTTP et SQL qui transitent par l’appliance NetScaler et les compare aux stratégies stockées. En fonction du résultat, la fonction de cache intégrée recherche la réponse dans le cache ou transmet la demande au serveur d’origine. Pour les requêtes HTTP, la mise en cache intégrée sert de contenu partiel provenant du cache en réponse à des demandes de plage d’octets unique et de plage d’octets en plusieurs parties.

Les données mises en cache sont compressées si le client accepte le contenu compressé. Vous pouvez configurer les délais d’expiration pour un groupe de contenus et vous pouvez faire expirer de manière sélective les entrées d’un groupe de contenus.

Les données fournies par le cache intégré sont considérées comme un succès, tandis que les données fournies depuis l’origine sont perdues dans le cache, comme décrit dans le tableau suivant.

Type de transaction Spécifications
Accès au cache Les réponses que l’appliance NetScaler fournit à partir du cache, notamment : des objets statiques, par exemple, des fichiers image et des pages Web statiques, 200 pages OK, 203 pages de réponses non autorisées, 300 pages à choix multiples, 301 pages déplacées définitivement, 302 pages trouvées, 304 pages non modifiées. Ces réponses sont appelées réponses positives. L’appliance NetScaler met également en cache les réponses négatives suivantes : 307 pages de redirection temporaires, 403 pages interdites, 404 pages introuvables, 410 pages disparues. Pour améliorer encore les performances, vous pouvez configurer l’appliance NetScaler pour mettre en cache davantage de types de contenu.
Echec du cache stockable En cas d’échec du cache stockable, l’appliance NetScaler récupère la réponse auprès du serveur d’origine et stocke la réponse dans le cache avant de la transmettre au client.
Echec du cache non stockable Une erreur de cache non stockable n’est pas appropriée pour la mise en cache. Par défaut, toute réponse contenant les codes d’état suivants est une erreur de cache non stockable : codes d’état 201, 202, 204, 205, 206, tous les codes 4xx, à l’exception des codes d’état 403, 404 et 410, 5xx

Remarque :

Pour intégrer la mise en cache dynamique à votre infrastructure d’applications, utilisez l’API NITRO pour émettre des commandes de cache à distance. Par exemple, vous pouvez configurer des déclencheurs qui font expirer les réponses mises en cache lorsqu’une table de base de données est mise à jour.

Pour garantir la synchronisation des réponses mises en cache avec les données du serveur d’origine, vous devez configurer des méthodes d’expiration. Lorsque l’appliance NetScaler reçoit une demande qui correspond à une réponse expirée, elle actualise la réponse depuis le serveur d’origine.

Remarque :

Citrix vous recommande de synchroniser les heures sur l’appliance NetScaler et sur un ou plusieurs serveurs principaux.

Fonctionnement du cache dynamique

La mise en cache dynamique évalue les demandes et les réponses HTTP en fonction de paires paramètre-valeur, de chaînes, de modèles de chaînes ou d’autres données. Supposons, par exemple, qu’un utilisateur recherche le bogue 31231 dans une application de signalement de bogues. Le navigateur envoie la demande suivante au nom de l’utilisateur :

    GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

    Host: mycompany.net

    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0

    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8

    Accept-Language: en-us,en;q=0.5
<!--NeedCopy-->

Dans cet exemple, les requêtes GET pour cette application de signalement de bogues contiennent toujours les paramètres suivants :

  • IssuePage
  • RecordID
  • Modèle
  • TableId

Les requêtes GET ne mettent pas à jour ni ne modifient les données. Vous pouvez donc configurer ces paramètres dans les stratégies de mise en cache et les sélecteurs, comme suit :

  • Vous configurez une stratégie de mise en cache qui recherche la chaîne mybugreportingsystem et la méthode GET dans les requêtes HTTP. Cette stratégie dirige les demandes de correspondance vers un groupe de contenus en cas de bogues.
  • Dans le groupe de contenu pour les bogues, vous configurez un sélecteur hit qui correspond à différentes paires paramètre-valeur, notamment IssuePage, RecordID, etc.

Remarque

Un navigateur peut envoyer plusieurs requêtes GET en fonction d’une action de l’utilisateur. Voici une série de trois requêtes GET distinctes qu’un navigateur émet lorsqu’un utilisateur recherche un bogue basé sur un identifiant de bogue.

    GET /mybugreportingsystem/mybugreport.dll?IssuePage&RecordId=31231&Template=view&TableId=1000

    GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbtns&RecordId=31231&TableId=1000

    GET /mybugreportingsystem/mybugreport.dll?IssuePage&Template=viewbody&RecordId=31231&tableid=1000
<!--NeedCopy-->

Pour répondre à ces demandes, plusieurs réponses sont envoyées au navigateur de l’utilisateur, et la page Web que l’utilisateur voit est un ensemble de réponses.

Si un utilisateur met à jour un rapport de bogue, les réponses correspondantes dans le cache doivent être actualisées avec les données du serveur d’origine. L’application de signalement de bogues émet des requêtes HTTP POST lorsqu’un utilisateur met à jour un rapport de bogue. Dans cet exemple, vous configurez les éléments suivants pour vous assurer que les requêtes POST déclenchent une invalidation dans le cache :

  • Une stratégie d’invalidation au moment de la demande qui recherche la chaîne mybugreportingsystem et la méthode de requête HTTP POST, et qui dirige les demandes correspondantes vers le groupe de contenus pour les rapports de bogues.
  • Un sélecteur d’invalidation pour le groupe de contenus pour les rapports de bogues qui fait expirer le contenu mis en cache en fonction du paramètre RecordID. Ce paramètre apparaît dans toutes les réponses, de sorte que le sélecteur d’invalidation peut faire expirer tous les éléments pertinents du cache.

L’extrait suivant montre une demande POST qui met à jour l’exemple de rapport de bogue.

    POST /mybugreportingsystem/mybugreport.dll?TransitionForm HTTP/1.1\r\n

    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.23 [en]\r\n

    Host: mybugreportingsystem\r\n

    Cookie:ttSearch.134=%23options%3Afalse%23active%23owner%3Afalse%23unowned%3Afalse%23submitter%3Afalse%23incsub%3Atrue;

    Cookie2: $Version=1\r\n

    . . .

    \r\n

    ProjectId=2&RecordId=31231&TableId=1000&TransitionId=1&Action=Update&CopyProjectId=0&ReloadForm=0&State=&RecordLockId=49873+issues+in+HTTP&F43. . .
<!--NeedCopy-->

Lorsque l’appliance NetScaler reçoit cette demande, elle effectue les opérations suivantes :

  • Associe la demande à une stratégie d’invalidation.
  • Trouve le groupe de contenus nommé dans la stratégie.
  • Applique le sélecteur d’invalidation pour ce groupe de contenus et fait expirer toutes les réponses qui correspondent à RecordID=31231.

Lorsqu’un utilisateur émet une nouvelle demande pour ce rapport de bogue, l’appliance NetScaler accède au serveur d’origine pour obtenir des copies mises à jour de toutes les réponses associées à l’instance du rapport. Il stocke les réponses dans le groupe de contenus et les transmet au navigateur de l’utilisateur, qui réassemble le rapport et l’affiche.

Configuration du cache intégré

Pour utiliser le cache intégré, vous devez installer la licence et activer la fonctionnalité. Une fois que vous avez activé le cache intégré, l’appliance NetScaler® met automatiquement en cache les objets statiques conformément aux stratégies intégrées et génère des statistiques sur le comportement du cache. (Les stratégies intégrées comportent un trait de soulignement à la position initiale du nom de la stratégie.)

Même si les stratégies intégrées sont adaptées à votre situation, vous souhaiterez peut-être modifier les attributs globaux. Par exemple, vous souhaiterez peut-être modifier la quantité de mémoire de l’appliance NetScaler allouée au cache intégré.

Si vous souhaitez observer le fonctionnement du cache avant de modifier les paramètres, reportez-vous à la section « Affichage des objets mis en cache et des statistiques de cache ».

Remarque :

Le cache NetScaler est un stockage en mémoire qui est purgé lorsque vous redémarrez l’appliance.

Pour installer une licence de cache intégrée

  • Une licence de cache intégrée est requise.
  • Obtenez un code de licence auprès de Citrix, accédez à l’interface de ligne de commande et connectez-vous.

Sur l’interface de ligne de commande, copiez le fichier de licence dans le dossier /nsconfig/license.

  • Redémarrez l’appliance NetScaler à l’aide de la commande suivante :

reboot

Pour activer la mise en cache intégrée : lorsque vous activez la mise en cache intégrée, l’appliance NetScaler commence à mettre en cache les réponses du serveur. Si vous n’avez configuré aucune stratégie ou aucun groupe de contenu, les stratégies intégrées stockent les objets mis en cache dans le groupe de contenu par défaut.

À l’invite de commandes, tapez l’une des commandes suivantes pour activer ou désactiver la mise en cache intégrée :

enable ns feature IC

Configurer les attributs globaux pour la mise en cache

Les attributs globaux s’appliquent à toutes les données mises en cache. Vous pouvez spécifier la quantité de mémoire NetScaler allouée au cache intégré, via l’insertion d’un en-tête. Critère permettant de vérifier qu’un objet mis en cache doit être diffusé. La longueur maximale d’un corps POST autorisé dans le cache, indique s’il faut contourner l’évaluation des stratégies pour les requêtes HTTP GET et action à entreprendre lorsqu’une stratégie ne peut pas être évaluée.

La capacité de la mémoire cache est limitée uniquement par la mémoire de l’appliance matérielle. De plus, tout moteur de paquets (hub de distribution central de toutes les demandes TCP entrantes) de l’appliance nCore NetScaler connaît les objets mis en cache par d’autres moteurs de paquets de l’appliance nCore NetScaler.

Remarque :

Lorsque la limite de mémoire globale par défaut est définie sur 0 et que la fonctionnalité de mise en cache intégrée (IC) est activée, l’appliance ne met en cache aucun objet. Pour la mise en cache, vous devez configurer explicitement la limite de mémoire globale. Toutefois, si vous activez l’option « définir le paramètre d’authentification, d’autorisation et d’audit EnableStaticPageCaching », une partie de la mémoire par défaut sera configurée dans l’appliance. Cette mémoire est insuffisante pour la mise en cache d’objets volumineux et il est donc nécessaire d’attribuer une limite de mémoire plus élevée pour IC. Pour ce faire, configurez la commande « set cache parameter –memLimit ». Le nouveau paramètre n’est appliqué qu’après avoir enregistré la configuration et redémarré l’appliance.

Vous pouvez modifier la limite de mémoire globale configurée pour la mise en cache des objets. Toutefois, lorsque vous mettez à jour la limite de mémoire globale à une valeur inférieure à la valeur existante (par exemple, de 10 Go à 4 Go), l’appliance continue d’utiliser la limite de mémoire.

Cela signifie que même si la limite de mise en cache intégrée est configurée à une certaine valeur, la limite réelle utilisée peut être plus élevée. Cette mémoire excessive est toutefois libérée lorsque les objets sont retirés du cache.

La sortie de la commande show cache parameter indique la valeur configurée (limite d’utilisation de la mémoire) et la valeur réelle utilisée (limite d’utilisation de la mémoire (valeur active)).

À l’invite de commandes, tapez :

    set cache parameter [-memLimit <MBytes>] [-via <string>] [-verifyUsing <criterion>] [-maxPostLen <positiveInteger>] [-prefetchMaxPending <positiveInteger>] [-enableBypass(YES|NO)] [-undefAction (NOCACHE|RESET)]
<!--NeedCopy-->

Activer la mise en cache intégrée via l’interface graphique NetScaler

Accédez à Système > Paramètres, cliquez sur Configurer les fonctionnalités de base, puis sélectionnez Mise en cache intégrée.

Configurer les paramètres globaux pour la mise en cache à l’aide de l’interface graphique NetScaler

Accédez à Optimisation > Mise en cache intégrée, cliquez sur Modifier les paramètres du cache et configurez les paramètres globaux pour la mise en cache.

Configurer un groupe de contenu intégré, un jeu de modèles et des stratégies pour le cache intégré

L’appliance NetScaler inclut une configuration de mise en cache intégrée que vous pouvez utiliser pour la mise en cache du contenu. La configuration se compose d’un groupe de contenus appelé ctx_cg_poc, d’un ensemble de modèles appelé ctx_file_extensions et d’un ensemble de stratégies de cache intégrées. Dans le groupe de contenus ctx_cg_poc, seuls les objets de 500 Ko ou moins sont mis en cache. Le contenu est mis en cache pendant 86 000 secondes et la limite de mémoire pour le groupe de contenus est de 512 Mo. L’ensemble de modèles est un tableau indexé d’extensions courantes pour la mise en correspondance des types de fichiers.

Le tableau suivant répertorie les stratégies de mise en cache intégrées. Par défaut, les stratégies ne sont liées à aucun point de liaison. Vous devez lier les stratégies à un point de liaison si vous souhaitez que l’appliance NetScaler évalue le trafic par rapport aux stratégies. Les stratégies mettent en cache les objets du groupe de contenu ctx_cg_poc.

Nom de la stratégie de mise en cache intégrée Règle de stratégie
_cacheVPNStaticObjects HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS_INDEX(“ctx_file_extensions”).BETWEEN(101,150)
_cacheTCPVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.css”)
_cacheOCVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.pdf”)
_cacheWFStaticObjects HTTP.REQ.URL.ENDSWITH(“.js”)
_mayNoCacheReq HTTP.RES.HEADER(“Content-Type”).CONTAINS(“application/x-javascript”)
_noCacheRest TRUE

Vider la configuration du cache

Vous pouvez vider un groupe de cache, des groupes de cache ou un localisateur d’objets de cache. Les commandes suivantes permettent de vider les objets du cache.

À l’invite de commandes, tapez :

flush cache contentgroup all

Exemple

        0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
        0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

        Flush cache contentGroup all
        done

`flush cache contentgroup <content group name>`
<!--NeedCopy-->

Exemple :

        0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
        0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

        Flush cache ob -| 0x00000089bae000000004
        done

`flush cache object (-locator <positive_integer> | (-url <URL> (-host <string> [-port <port>] [-groupName <string>] [-httpMethod ( GET | POST )])))`
<!--NeedCopy-->

Exemple :

        0x00000089bae000000006 DEFAULT GET //1.1.1.1:80/html/index.html

        flush cache ob -URL /html/index.html -host 1.1.1.1 -groupName DEFAULT
        done
<!--NeedCopy-->

Configuration du cache vide à l’aide de l’interface graphique NetScaler

Suivez les étapes pour configurer le vidage du cache à l’aide de l’interface graphique NetScaler

  1. Accédez à Optimisation > Groupes de contenu.
  2. Dans le volet détaillé des groupes de contenus, cliquez sur Ajouter.
  3. Sur la page Créer des groupes de contenu en cache, définissez le paramètre suivant sous l’onglet Autres  :
    1. Videz le cache. Cochez la case pour vider l’objet du cache.
  4. Cliquez sur Créer et Fermer.

Configuration de la mise en cache intégrée pour différents scénarios

La section suivante décrit la configuration de la mise en cache intégrée sur l’appliance NetScaler pour différents scénarios.

À partir de la version 9.2 de NetScaler, la mise en cache intégrée dispose de plus de mémoire pour la mise en cache. La mémoire de mise en cache intégrée n’est limitée que par la mémoire disponible sur l’appliance matérielle. Vous pouvez allouer jusqu’à 50 % de la mémoire disponible à la fonction de mise en cache intégrée.

Pour définir l’allocation de mémoire pour le cache à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

set cache parameter -memlimit <value>

Remarque :

La limite de mémoire globale par défaut pour la mise en cache intégrée est nulle. Par conséquent, même si vous activez la fonctionnalité de mise en cache intégrée, l’appliance NetScaler ne met aucun objet en cache tant que la limite de mémoire globale n’est pas explicitement définie.

La section suivante vous indique de configurer la mise en cache intégrée sur différents scénarios.

Remarque :

La limite de mémoire de l’appliance NetScaler est identifiée au démarrage de l’appliance. Par conséquent, toute modification de la limite de mémoire nécessite le redémarrage de l’appliance pour que les modifications soient applicables à tous les moteurs de paquets.

La mise en cache intégrée est activée et la limite de mémoire cache est définie sur une valeur différente de zéro

Imaginez un scénario dans lequel vous démarrez l’appliance, la fonction de mise en cache intégrée est activée et la limite de mémoire globale est définie sur un nombre positif. La mémoire que vous avez définie précédemment est allouée à la fonction de mise en cache intégrée lors du processus de démarrage. Vous souhaiterez peut-être modifier la limite de mémoire à une autre valeur en fonction de la mémoire disponible sur l’appliance.

Configuration à l’aide de l’interface de ligne de commande

  1. Afficher le paramètre cache
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 500 MBytes
                Memory usage limit (active value): 500 MBytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->
  1. Définir une limite de mémoire non nulle

set cache parameter -memlimit 600

Remarque :

La commande précédente affiche le message d’avertissement suivant : Avertissement : Pour utiliser une nouvelle limite de mémoire cache intégrée, enregistrez la configuration et redémarrez l’appliance NetScaler.

  1. Enregistrez la configuration

save config

  1. À partir de l’invite shell, exécutez la commande suivante pour vérifier dans le fichier de configuration.

root@ns# cat /nsconfig/ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 600 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 0 -enableBypass YES -undefAction NOCACHE

  1. Redémarrer l’appliance

root@ns# reboot

  1. Vérifier la nouvelle valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 600 MBytes
                Memory usage limit (active value): 600 MBytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Une fois tous les moteurs de paquets démarrés avec succès, la fonction de mise en cache intégrée négocie la mémoire que vous aviez configurée. Si l’appliance ne peut pas utiliser la mémoire configurée, celle-ci est allouée en conséquence. Si la mémoire disponible est inférieure à celle que vous avez allouée, l’appliance recommande un nombre inférieur. La fonctionnalité de mise en cache intégrée utilise la même valeur que la valeur active.

La mise en cache intégrée est désactivée et la limite de mémoire cache est définie sur une valeur différente de zéro

Dans ce scénario, lorsque vous démarrez l’appliance, la fonctionnalité de mise en cache intégrée est désactivée et la limite de mémoire globale est définie sur un nombre positif. Par conséquent, aucune mémoire n’est allouée à la mise en cache intégrée pendant le processus de démarrage.

Configuration à l’aide de l’interface de ligne de commande

  1. Afficher le paramètre cache
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 600 MBytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->
  1. Définir une nouvelle limite de mémoire

set cache parameter -memlimit 500

Remarque :

La commande précédente affiche le message d’avertissement suivant : Avertissement : fonctionnalité non activée [IC].

  1. Enregistrez la configuration

save config

  1. À partir de l’invite shell, exécutez la commande suivante pour vérifier dans le fichier de configuration

root@ns# cat /nsconfig/ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 500 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 0 -enableBypass YES -undefAction NOCACHE

  1. Vérifier la nouvelle valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 500 MBytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->
  1. Activer la fonctionnalité de mise en cache intégrée

enable ns feature IC

  1. Vérifier la nouvelle valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 500 Mbytes
                Memory usage limit (active value): 500 Mbytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Remarque :

500 Mo de mémoire sont alloués à la fonction de mise en cache intégrée.

  1. Enregistrez la configuration pour vous assurer que la mémoire est automatiquement allouée à la fonctionnalité lors du redémarrage de l’appliance.

La mise en cache intégrée est activée et la mémoire cache est définie sur zéro

Dans ce scénario, lorsque vous démarrez l’appliance, la fonctionnalité de mise en cache intégrée est activée et la limite de mémoire globale est définie sur zéro. Par conséquent, aucune mémoire n’est allouée à la mise en cache intégrée pendant le processus de démarrage.

Configuration à l’aide de l’interface de ligne de commande

  1. Vérifiez les limites de mémoire définies dans le fichier ns.conf à partir de l’invite shell

root@ns# cat ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE

  1. Vérifier la valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 0 Mbytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Remarque :

La limite de mémoire est définie sur 0 Mo et aucune mémoire n’est allouée à la fonction de mise en cache intégrée.

  1. Définissez les limites de mémoire pour garantir que la fonction de mise en cache intégrée met en cache les objets

set cache parameter -memLimit 600

Une fois la commande précédente exécutée, l’appliance négocie la mémoire pour la fonction de mise en cache intégrée et la mémoire disponible est affectée à la fonction. Cela permet à l’appliance de mettre en cache des objets sans redémarrer l’appliance.

  1. Vérifier la valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 600 Mbytes
                Memory usage limit (active value): 600 Mbytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3:
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Remarque :

600 Mo de mémoire sont alloués à la fonction de mise en cache intégrée.

  1. Enregistrez la configuration. Assurez-vous que la mémoire est automatiquement allouée à la fonctionnalité lors du redémarrage de l’appliance.

  2. Vérifiez les limites de mémoire définies dans le fichier ns.conf à partir de l’invite shell

root@ns# cat /nsconfig/ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 600 -via NS-CACHE-9.3: -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE

La mise en cache intégrée est désactivée et la mémoire cache est définie sur zéro

Dans ce scénario, lorsque vous démarrez l’appliance, la fonctionnalité de mise en cache intégrée est désactivée et la limite de mémoire globale est définie à zéro. Par conséquent, aucune mémoire n’est allouée à la mise en cache intégrée pendant le processus de démarrage.

Configuration à l’aide de l’interface de ligne de commande

  1. Vérifiez les limites de mémoire définies dans le fichier ns.conf à partir de l’invite shell

root@ns# cat /nsconfig/ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE

  1. Vérifier la valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 0 Mbytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3: 18
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Remarque :

La limite de mémoire est définie sur 0 Mo et aucune mémoire n’est allouée à la fonction de mise en cache intégrée. De plus, lorsque vous exécutez une commande de configuration du cache, le message d’avertissement suivant s’affiche  : Avertissement : fonctionnalité non activée [IC].

  1. Activer la fonctionnalité de mise en cache intégrée

enable ns feature IC

Remarque :

À ce stade, lorsque vous activez la fonctionnalité de mise en cache intégrée, l’appliance n’alloue pas de mémoire à la fonction. Par conséquent, aucun objet n’est mis en cache dans la mémoire. En outre, lorsque vous exécutez une commande de configuration du cache, le message d’avertissement suivant s’affiche : Aucune mémoire n’est configurée pour IC. Utilisez la commande set cache parameter pour définir la limite de mémoire.

  1. Définissez les limites de mémoire pour garantir que la fonction de mise en cache intégrée met en cache les objets

set cache parameter -memLimit 500

Une fois la commande précédente exécutée, l’appliance négocie la mémoire pour la fonction de mise en cache intégrée et la mémoire disponible est affectée à la fonction. L’appliance met en cache les objets sans redémarrer l’appliance.

Remarque :

L’ordre dans lequel vous activez la fonction et définissez les limites de mémoire est important. Si vous définissez les limites de mémoire avant d’activer la fonctionnalité, le message d’avertissement suivant s’affiche : Avertissement : fonctionnalité non activée [IC].

  1. Vérifier la valeur de la limite de mémoire
        > show cache parameter
                Integrated cache global configuration:
                Memory usage limit: 500 Mbytes
                Memory usage limit (active value): 500 Mbytes
                Maximum value for Memory usage limit: 843 MBytes
                Via header: NS-CACHE-9.3:
                Verify cached object using: HOSTNAME_AND_IP
                Max POST body size to accumulate: 0 bytes
                Current outstanding prefetches: 0
                Max outstanding prefetches: 4294967295
                Treat NOCACHE policies as BYPASS policies: YES
                Global Undef Action: NOCACHE
<!--NeedCopy-->

Remarque :

500 Mo de mémoire sont alloués à la fonction de mise en cache intégrée.

  1. Enregistrez la configuration

save config

  1. Vérifiez les limites de mémoire définies dans le fichier ns.conf à partir de l’invite shell

root@ns# cat /nsconfig/ns.conf | grep memLimit

  1. Modifier la limite de mémoire

set cache parameter -memLimit 500 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE

Mise en cache intégrée