ADC

Mise en cache intégrée

Groupes de contenu

  • En quoi un groupe de contenu DEFAULT est-il différent des autres groupes de contenu ?

    Le comportement du groupe de contenu DEFAULT est le même que n’importe quel autre groupe. Le seul attribut qui rend le groupe de contenu DEFAULT spécial est que si un objet est mis en cache et qu’aucun groupe de contenu n’a été créé. L’objet est mis en cache dans le groupe DEFAULT.

  • Quelle est l’option « Cache-control » du niveau du groupe de contenu ?

    Vous pouvez envoyer n’importe quel en-tête de contrôle de cache au navigateur. Il existe une option de niveau groupe de contenu, -cacheControl, qui vous permet de spécifier l’en-tête de contrôle de cache que vous souhaitez insérer dans la réponse au navigateur.

  • Qu’ est-ce que l’option « Minhit » au niveau du groupe de contenu ?

    Minhit est une valeur entière spécifiant le nombre minimum de sélection dans une stratégie de cache avant la mise en cache de l’objet. Cette valeur est configurable au niveau du groupe de contenus. Voici la syntaxe pour configurer cette valeur à partir de l’interface de ligne de commande.

    add/set cache contentGroup \<Content_Group_Name> [-minHits \<Integer>]

  • Quelle est l’utilisation de l’option ExpireAtlastByte ?

    L’option ExpireAtLastByte permet au cache intégré d’expirer l’objet lorsqu’il est téléchargé. Seules les demandes en attente sont alors servies à partir du cache. Toutes les nouvelles demandes sont envoyées au serveur. Ce paramètre est utile lorsque l’objet est fréquemment modifié, comme dans le cas des cotations boursières. Ce mécanisme d’expiration fonctionne avec la fonction Flash Cache. Pour configurer une option ExpireatLastByte, exécutez la commande suivante à partir de l’interface de ligne de commande :

    add cache contentGroup \<Group_Name> –expireAtLastByte YES

Stratégie de cache

  • Qu’ est-ce qu’une stratégie de mise en cache ?

    Les stratégies déterminent les transactions pouvant être mises en cache et celles qui ne le sont pas. En outre, les stratégies ajoutent ou remplacent le comportement de mise en cache HTTP standard. Les stratégies déterminent une action, telle que CACHE ou NOCACHE, en fonction des caractéristiques spécifiques de la demande ou de la réponse. Si une réponse correspond aux règles de stratégie, l’objet de la réponse est ajouté au groupe de contenu configuré dans la stratégie. Si vous n’avez pas configuré de groupe de contenu, l’objet est ajouté au groupe de contenu DEFAULT.

  • Qu’ est-ce qu’un accès à la stratégie ?

    Une sélection se produit lorsqu’une demande ou une réponse correspond à une stratégie de cache.

  • Qu’ est-ce qu’une erreur ?

    Une erreur se produit lorsqu’une requête ou une réponse ne correspond à aucune stratégie de cache. Une erreur peut également se produire si la requête ou la réponse correspond à une stratégie de cache, mais un remplacement du comportement RFC empêche l’objet d’être stocké dans le cache.

  • J’ ai configuré la fonctionnalité de mise en cache intégrée de l’appliance Citrix ADC. Lors de l’ajout de la stratégie suivante, un message d’erreur s’affiche. Y a-t-il une erreur dans la commande ?

    add cache policy image_caching -rule exp1 | ns_ext_not_jpeg –action cache

    \> ERROR: No such command

    Dans la commande précédente, l’expression doit être comprise entre guillemets. Sans guillemets, l’opérateur est considéré comme l’opérateur de tuyauterie.

Mémoire requise

  • Quelles sont les commandes que je peux exécuter sur l’appliance Citrix ADC pour vérifier la mémoire allouée au cache ?

    Pour afficher la mémoire allouée au cache dans l’appliance Citrix ADC, exécutez l’une des commandes suivantes à partir de l’interface de ligne de commande :

    • show cache parameter

      Dans la sortie, vérifiez la valeur du paramètre limite d’utilisation de la mémoire. This is the maximum memory allocated for cache.

    • show cache \<Content_Group_Name>

      Dans la sortie, vérifiez les valeurs des paramètres d’utilisation de la mémoire et de limite d’utilisation de la mémoire indiquant la mémoire utilisée et allouée pour le groupe de contenu individuel.

  • Mon appliance Citrix ADC dispose de 2 Go de mémoire. Existe-t-il une limite de mémoire recommandée pour le cache ?

    Pour n’importe quel modèle de l’appliance Citrix ADC, vous pouvez allouer la moitié de la mémoire au cache. Cependant, Citrix recommande d’allouer un peu moins de la moitié de la mémoire, en raison de la dépendance de la mémoire interne. Vous pouvez exécuter la commande suivante pour allouer 1 Go de mémoire au cache :

    set cache parameter -memLimit 1024

  • Est-il possible d’allouer de la mémoire pour des groupes de contenu individuels ?

    Oui. Même si vous allouez de la mémoire pour le cache intégré globalement en exécutant le paramètre set cache —memlimit <Integer>, vous pouvez allouer de la mémoire à des groupes de contenu individuels en exécutant la <Content_Group_Name> <Integer> commande set cache —memLimit. La mémoire maximale que vous pouvez allouer aux groupes de contenu (combinée) ne peut pas dépasser la mémoire allouée au cache intégré.

  • Quelle est la dépendance de la mémoire entre le cache intégré et le tampon TCP ?

    Si l’appliance Citrix ADC dispose de 2 Go de mémoire, l’appliance réserve environ 800 Mo à 900 Mo de mémoire et le reste est alloué au système d’exploitation FreeBSD. Par conséquent, vous pouvez allouer jusqu’à 512 Mo de mémoire au cache intégré et le reste est alloué au tampon TCP.

  • Cela affecte-t-il le processus de mise en cache si je n’alloue pas de mémoire globale au cache intégré ?

    Si vous n’allouez pas de mémoire au cache intégré, toutes les requêtes sont envoyées au serveur. Pour vous assurer que vous avez alloué de la mémoire au cache intégré, exécutez la commande show cache parameter. En fait, aucun objet n’est mis en cache si la mémoire globale est 0, elle doit donc être définie en premier.

Commandes de vérification

  • Quelles sont les options pour afficher les statistiques de cache ?

    Vous pouvez utiliser l’une des options suivantes pour afficher les statistiques du cache :

    • stat cache

      Pour afficher le résumé des statistiques du cache.

    • stat cache –detail

      Pour afficher tous les détails des statistiques du cache.

  • Quelles sont les options pour afficher le contenu mis en cache ?

    Pour afficher le contenu mis en cache, vous pouvez exécuter la commande show cache object.

  • Quelle est la commande que je peux exécuter pour afficher les caractéristiques d’un objet stocké dans le cache ?

    Si l’objet stocké dans le cache est, par exemple, GET //10.102.12.16:80/index.html, vous pouvez afficher les détails de l’objet en exécutant la commande suivante à partir de l’interface de ligne de commande de l’appliance :

    show cache object -url '/index.html' -host 10.102.3.96 -port 80

  • Est-il obligatoire de spécifier le nom du groupe en tant que paramètre pour afficher les objets paramétrés dans le cache ?

    Oui. Il est obligatoire de spécifier le nom du groupe en tant que paramètre pour afficher les objets paramétrés dans le cache. Par exemple, considérez que vous avez ajouté les stratégies suivantes avec la même règle :

     add cache policy p2 -rule ns_url_path_cgibin -action CACHE –storeInGroup g1
     add cache policy p1 -rule ns_url_path_cgibin -action CACHE -storeInGroup g2
     <!--NeedCopy-->
    

    Dans ce cas, pour les demandes multiples, si la stratégie p1 est évaluée, son compteur de sélection est incrémenté et la stratégie stocke l’objet dans le groupe g1, qui comporte des paramètres de sélection. Par conséquent, vous devez exécuter la commande suivante pour afficher les objets du cache :

    show cache object -url "/cgi-bin/setCookie.pl" -host 10.102.18.152 groupName g1

    De même, pour un autre ensemble de requêtes multiples, si la stratégie p2 est évaluée, son compteur de sélection est incrémenté et la stratégie stocke l’objet dans le groupe g2, qui n’a pas de paramètres de sélection. Par conséquent, vous devez exécuter la commande suivante pour afficher les objets du cache :

    show cache object -url "/cgi-bin/setCookie2.pl" -host 10.102.18.152

  • Je remarque qu’il y a des entrées vides dans la sortie de la commande nscachemgr. Quelles sont ces entrées ?

    Tenez compte de l’exemple de sortie suivant de la nscachemgr commande. Les entrées vides de cette sortie sont surlignées en gras pour votre référence :

     root@ns# /netscaler/nscachemgr -a
     //10.102.3.89:80/image8.gif
     //10.102.3.97:80/staticdynamic.html
     //10.102.3.97:80/
     //10.102.3.89:80/image1.gif
     //10.102.3.89:80/file5.html
     //10.102.3.96:80/
     //10.102.3.97:80/bg_logo_segue.gif
     //10.102.3.89:80/file500.html
     //10.102.3.92:80/
     //10.102.3.96:80/cgi-bin/rfc/ccProxyReval.pl
     Total URLs in IC = 10
     <!--NeedCopy-->
    

    Les entrées vides dans la sortie sont dues aux propriétés de mise en cache par défaut pour GET/HTTP/1.1.

Vidage des objets

  • Comment puis-je vider un objet sélectif du cache ?

    Vous pouvez identifier un objet de manière unique par son URL complète. Pour vider un tel objet, vous pouvez effectuer l’une des tâches suivantes :

    • Vider le cache
    • Vider le groupe de contenus
    • Rincer l’objet spécifique

    Pour vider l’objet spécifique, vous devez spécifier les paramètres de requête. Vous spécifiez le paramètre InvalParam pour vider l’objet. Ce paramètre s’applique uniquement à une requête.

  • Est-ce qu’un changement dans la configuration du cache déclenche le vidage du cache ?

    Oui. Lorsque vous passez à la configuration du cache, toutes les commandes SET cache videront intrinsèquement les groupes de contenu appropriés.

  • J’ai mis à jour les objets sur le serveur. Dois-je vider les objets mis en cache ?

    Oui. Lorsque vous mettez à jour des objets sur le serveur, vous devez vider les objets mis en cache, ou au moins les objets et groupes de contenu pertinents. Le cache intégré n’est pas affecté par une mise à jour du serveur. Il continue à servir les objets mis en cache jusqu’à ce qu’ils expirent.

Cache Flash

  • Qu’ est-ce que la fonctionnalité Flash Cache de l’appliance Citrix ADC ?

    Le phénomène des foules Flash se produit lorsque de nombreux clients accèdent au même contenu. Le résultat est une poussée soudaine du trafic vers le serveur. La fonctionnalité Flash Cache permet à l’appliance Citrix ADC d’améliorer les performances dans une telle situation en envoyant une seule requête au serveur. Toutes les autres demandes sont mises en file d’attente sur l’appliance et la réponse unique est servie aux demandes. Vous pouvez utiliser l’une des commandes suivantes pour activer la fonction Cache rapide :

    • add cache contentGroup \<Group_Name> -flashCache YES
    • set cache contentGroup \<Group_Name> -flashCache YES
  • Quelle est la limite pour les clients Flash Cache ?

    Le nombre de clients Flash Cache dépend de la disponibilité des ressources sur l’appliance Citrix ADC.

Le comportement par défaut

  • L’appliance Citrix ADC reçoit-elle des objets de manière proactive à l’expiration ?

    L’appliance Citrix ADC ne reçoit jamais d’objets de manière proactive à l’expiration. Cela est vrai même pour les objets négatifs. Le premier accès après expiration déclenche une requête au serveur.

  • Le cache intégré ajoute-t-il des clients à la file d’attente pour servir avant même qu’il ne commence à recevoir la réponse ?

    Oui. Le cache intégré ajoute des clients à la file d’attente pour servir avant même qu’il ne commence à recevoir la réponse.

  • Quelle est la valeur par défaut de l’objet mis en cache Verify utilisant le paramètre de la configuration du cache ?

    HOSTNAME_AND_IP est la valeur par défaut.

  • Le dispositif Citrix ADC crée-t-il des entrées de journal dans les fichiers journaux ?

    Oui. L’appliance Citrix ADC crée des entrées de journal dans les fichiers journaux.

  • Les objets compressés sont-ils stockés dans le cache ?

    Oui. Les objets compressés sont stockés dans le cache.

Interopérabilité avec d’autres fonctionnalités

  • Qu’advient-il des objets actuellement stockés dans le cache et auxquels on accède via le VPN SSL ?

    Les objets stockés dans le cache et accessibles régulièrement sont servis en cache, sélectionnés lorsqu’ils sont accessibles via le VPN SSL.

  • Qu’ advient-il des objets stockés dans le cache lorsqu’ils sont accessibles via SSL VPN et plus tard accessibles via une connexion régulière ?

    Les objets stockés via l’accès VPN SSL sont servis de sélection lorsqu’ils sont accessibles via la connexion normale.

  • Lors de l’utilisation de la journalisation Web, comment différencier les entrées qui indiquent la réponse servie du cache de celles desservies par le serveur ?

    Pour les réponses fournies à partir du cache intégré, le champ de journal du serveur contient la valeur IC. Pour les réponses envoyées à partir d’un serveur, le champ de journal du serveur contient la valeur envoyée par le serveur. Voici un exemple d’entrée de journal pour une transaction de mise en cache intégrée :

    "10.102.1.52 - "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; .NET CLR 1.0.3705)" "GET /" 200 0 "IC" 10.102.1.45"

    Avec une demande client, la réponse consignée est celle envoyée au client et pas nécessairement celle envoyée par le serveur.

Remarque

Lors de l’utilisation de la journalisation Web, les réponses du cache intégré contiennent la valeur IC dans le champ journal du serveur. Le champ journal du serveur est présent dans le client NSWL avec le spécificateur de format « %o1 ».

Divers

  • Que voulez-vous dire par la configuration de relexpiry et absexpiry ?

    En configurant relexpiry et absexpiry, cela signifie que vous remplacez l’en-tête indépendamment de ce qui apparaît dans l’en-tête. Vous pouvez configurer un paramètre d’expiration différent et le niveau du groupe de contenu. Avec relexpiry, l’expiration de l’en-tête est basée sur l’heure à laquelle l’objet est reçu par Citrix ADC. Avec absexpiry, l’expiration est basée sur l’heure configurée sur Citrix ADC. Relexpiry est configuré en secondes. Absexpiry est un moment de la journée.

  • Que voulez-vous dire par la configuration de weakpos et heuristic ?

    Les weakpos et heuristiques sont comme des valeurs de secours. S’il y a un en-tête d’expiration, il n’est considéré que si le dernier en-tête modifié est présent. L’appliance Citrix ADC définit l’expiration en fonction du dernier en-tête modifié et du paramètre heuristique. Le calcul heuristique de l’expiration détermine la durée d’expiration en vérifiant l’en-tête de la dernière modification. Un certain pourcentage de la durée depuis la dernière modification de l’objet est utilisé comme délai d’expiration. heuristique d’un objet qui reste non modifié pendant des périodes plus longues et qui est susceptible d’avoir des périodes d’expiration plus longues. –heurExpiryParam spécifie la valeur de pourcentage à utiliser dans ce calcul. Sinon, l’appliance utilise la valeur weakpos.

  • Que dois-je considérer avant de configurer la mise en cache dynamique ?

    Si un paramètre est sous la forme nom-valeur et ne dispose pas de la requête URL complète, ou si l’appliance reçoit le paramètre dans un en-tête de cookie ou un corps POST, envisagez de configurer la mise en cache dynamique. Pour configurer la mise en cache dynamique, vous devez configurer le paramètre HitParams.

  • Comment le codage hexadécimal est-il pris en charge dans les noms de paramètres ?

    Sur l’appliance Citrix ADC, le codage %HEXHEX est pris en charge dans les noms des paramètres. Dans les noms que vous spécifiez pour HitParams ou InvalParams, vous pouvez spécifier un nom qui contient%HEXHEX dans les noms. Par exemple, le nom, le nom%65 et n%61m%65 sont équivalents.

  • Quel est le processus de sélection d’un paramètre HitParam ?

    Considérons l’extrait suivant d’un en-tête HTTP pour une requête POST :

     POST /data2html.asp?param1=value1&param2=&param3&param4=value4
     HTTP/1.1
     Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
     application/vnd.ms-powerpoint, application/vnd.ms-excel,
     application/msword, application/x-shockwave-flash, \*/\*
     Referer: http://10.102.3.97/forms.html
     Accept-Language: en-us
     Content-Type: application/x-www-form-urlencoded
     Accept-Encoding: gzip, deflate
     User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
     Host: 10.102.3.97
     Content-Length: 153
     Connection: Keep-Alive
     Cache-Control: no-cache
     Cookie: ASPSESSIONIDQGQGGRNY=NNLLKDADEENOAFLCCDGFGDMO
     S1=This+text+is+only+text%2C+not+more+and+not+less%2C+%0D%0Ajust+text+to+be+itself%2C+namely+%22Text%22+to+be+posted+as+text+%28what+else...%29&B1=Submit
     <!--NeedCopy-->
    

    Dans la requête précédente, vous pouvez utiliser S1 et B1, mis en surbrillance en gras pour votre référence, comme HitParams en fonction de vos besoins. En outre, si vous utilisez -matchCookies YES dans le groupe de contenu ASPSESSIONIDQGQGGRNY, vous pouvez également utiliser ces paramètres comme HitParams.

  • Qu’ advient-il des clients en file d’attente si la réponse n’est pas mise en cache ?

    Si la réponse n’est pas mise en cache, tous les clients de la file d’attente reçoivent la même réponse que le premier client reçoit.

  • Puis-je activer les fonctionnalités Poll à chaque fois (PET) et Flash Cache sur le même groupe de contenu ?

    Non. Vous ne pouvez pas activer PET et Flash Cache sur le même groupe de contenu. Le cache intégré n’exécute pas la fonction AutoPet sur les groupes de contenu Flash Cache. La fonction PET garantit que le cache intégré ne sert pas un objet stocké sans consulter le serveur. Vous pouvez configurer explicitement PET pour un groupe de contenus.

  • Quand les entrées de journal sont-elles créées pour les clients en file d’attente ?

    Les entrées de journal sont créées pour les clients mis en file d’attente peu de temps après que l’appliance a reçu l’en-tête de réponse. Les entrées de journal sont créées uniquement si l’en-tête de réponse ne rend pas l’objet non mis en cache.

  • Quelle est la signification des valeurs DNS, HOSTNAME et HOSTNAME_AND_IP de l’objet en cache Verify à l’aide du paramètre de configuration du cache ?

    Les significations sont les suivantes :

    • set cache parameter -verifyUsing HOSTNAME

      La commande ignore l’adresse IP de destination.

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      La commande correspond à l’adresse IP de destination.

    • set cache parameter -verifyUsing DNS

      La commande utilise le serveur DNS.

  • J’ai défini weakNegRelExpiry sur 600, ce qui est 10 minutes. J’ai remarqué que les réponses 404 ne sont pas mises en cache. Quelle est la raison ?

    Cela dépend complètement de votre configuration. Par défaut, 404 réponses sont mises en cache pendant 10 minutes. Si vous voulez que toutes les réponses 404 soient récupérées depuis le serveur, spécifiez —WeakNegrelExpiration 0. Vous pouvez affiner —weakNegrelExpiration à une valeur souhaitée, telle que supérieure ou inférieure pour obtenir les réponses 404 correctement mises en cache. Si vous avez configuré —absExpiration pour des réponses positives, il se peut que cela ne donne pas les résultats souhaités.

  • Lorsque l’utilisateur accède au site à l’aide du navigateur Mozilla Firefox, le contenu mis à jour est servi. Toutefois, lorsque l’utilisateur accède au site à l’aide du navigateur Microsoft Internet Explorer, le contenu obsolète est servi. Qu’elle peut en être la raison ?

    Le navigateur Microsoft Internet Explorer peut prendre le contenu de son cache local au lieu du cache intégré Citrix ADC. La raison peut être que le navigateur Microsoft Internet Explorer ne respecte pas l’en-tête lié à l’expiration dans la réponse.

    Pour résoudre ce problème, vous pouvez désactiver le cache local d’Internet Explorer et effacer le contenu hors connexion. Après avoir effacé le contenu hors connexion, le navigateur doit afficher le contenu mis à jour.

  • Et si les résultats sont nuls ?

    Vérifiez si l’heure du serveur et l’heure NS sont synchronisés. Et l’ensemble de limites WeakposrelExpiration doit supporter la différence de temps entre NS et serveur comme suit :

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
     <!--NeedCopy-->
    
  • Pourquoi les stratégies obtiennent-elles des hits mais rien n’est mis en cache ?

    Vérifiez que la mémoire est allouée au cache intégré et que l’allocation est supérieure à zéro.

  • Est-il possible de mettre à zéro les compteurs de cache ?

    Il n’y a pas de ligne de commande ou d’option d’interface graphique pour définir les compteurs du cache à zéro, et le vidage du cache ne le fait pas non plus. Le redémarrage de la boîte définit automatiquement ces compteurs à zéro.

Mise en cache intégrée