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 exactement le même que tout 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 qui spécifie le nombre minimum d’accès à une stratégie de cache avant que l’objet ne soit mis en cache. 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 dès qu’il a été téléchargé. Seules les demandes qui sont en attente à ce moment-là sont traitées à 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 l’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 standard de mise en cache HTTP. 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 ?

    Un accès se produit lorsqu’une requête 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 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 à 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 demandes 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 ne sera mis en cache si la mémoire globale est 0, donc cela doit être défini 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 lashow cache object commande.

  • 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
    

    Dans ce cas, pour les demandes multiples, si la stratégie p1 est évaluée, son compteur d’accès est incrémenté et la stratégie stocke l’objet dans le groupe g1, qui a des paramètres d’accès. 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 succès est incrémenté et la stratégie stocke l’objet dans le groupe g2, qui n’a pas de paramètres de succès. 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 ?

    Considérons l’exemple de sortie suivant de la commande nscachemgr. 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
    

    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.

Rincement 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 cet objet, vous pouvez effectuer l’une des tâches suivantes :

    • Vider le cache
    • Vincer le groupe de contenus
    • Vincer l’objet spécifique Pour vider l’objet spécifique, vous devez spécifier les paramètres de la 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 apportez des modifications à la configuration du cache, toutes les commandes du cache SET vider 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 lorsqu’un grand nombre de 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 fournie à toutes les 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.

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 qui sont actuellement stockés dans le cache et qui sont accessibles via SSL VPN ?

    Les objets stockés dans le cache et consultés régulièrement sont servis comme appels de cache lorsqu’ils sont accessibles via SSL VPN.

  • 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 comme un appel lorsqu’ils sont accessibles via la connexion régulière.

  • Lors de l’utilisation de weblogging, 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.

Divers

  • Que voulez-vous dire par la configuration de la réexpiration et de l’absexpiration ?

    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 différents paramètres d’expiration 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 a été reçu par Citrix ADC. Avec absexpiry, l’expiration est basée sur le temps configuré sur Citrix ADC. La relexpiration est configurée en termes de secondes. L’absexpiration est un moment de la journée.

  • Que voulez-vous dire par la configuration des weakpos et des heuristiques ?

    Les weakpos et heuristiques sont comme des valeurs de recul. 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 sur la base de l’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. Le —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 %HEXEX 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%HEXEX 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
    

    Dans la demande ci-dessus, vous pouvez utiliser S1 et B1, surligné 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.

  • 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

      Ceci ignore l’adresse IP de destination.

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      Cela correspond à l’adresse IP de destination.

    • set cache parameter -verifyUsing DNS

      Cela utilise le serveur DNS.

  • J’ ai défini FaibleNegrelExpiration à 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 sous le serveur, spécifiez : FaibleNegrelExpiration 0. Vous pouvez affiner le —weakNegrelExpiration à une valeur souhaitée, telle qu’supérieure ou inférieure, pour obtenir les réponses 404 mises en cache de manière appropriée. Si vous avez configuré —AbsExpiration pour les 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. Quelle pourrait ê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 la limite weakPosrelexpiry définie doit supporter la différence de temps entre NS et serveur comme indiqué ci-dessous

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
    
  • Pourquoi les stratégies obtenent-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.