Citrix ADC

Almacenamiento en caché integrado

Grupos de contenido

  • ¿En qué se diferencia un grupo de contenido DEFAULT de otros grupos de contenido?

    El comportamiento del grupo de contenido DEFAULT es exactamente el mismo que cualquier otro grupo. El único atributo que hace especial al grupo de contenido DEFAULT es que si un objeto se almacena en caché y no se ha creado ningún grupo de contenido, el objeto se almacena en caché en el grupo DEFAULT.

  • ¿Cuál es la opción ‘Cache-Control’ del nivel de grupo de contenido?

    Puede enviar cualquier encabezado de control de caché al navegador. Hay una opción de nivel de grupo de contenido, -CacheControl, que le permite especificar el encabezado de control de caché que desea insertar en la respuesta al navegador.

  • ¿Cuál es la opción ‘Minhit’ en el nivel de grupo de contenido?

    Minhit es un valor entero que especifica el número mínimo de visitas a una directiva de caché antes de que el objeto se almacene en caché. Este valor se puede configurar en el nivel de grupo de contenido. A continuación se muestra la sintaxis para configurar este valor desde la CLI.

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

  • ¿Cuál es el uso de la opción ExpireAtlastByte?

    La opción ExpireAtLastByte permite que la caché integrada caduque el objeto tan pronto como se haya descargado. Solo las solicitudes pendientes en ese momento se sirven desde la caché. Las nuevas solicitudes se envían al servidor. Esta configuración es útil cuando el objeto se modifica con frecuencia, como en el caso de las cotizaciones de valores. Este mecanismo de caducidad funciona junto con la función Flash Cache. Para configurar la opción expireAtLastByte, ejecute el siguiente comando desde la CLI:

    add cache contentGroup \<Group_Name> –expireAtLastByte YES

Política de caché

  • ¿Qué es una directiva de almacenamiento en caché?

    Las directivas determinan qué transacciones se pueden almacenar en caché y cuáles no. Además, las directivas agregan o anulan el comportamiento estándar de almacenamiento en caché HTTP. Las directivas determinan una acción, como CACHE o NOCACHE, según las funciones específicas de la solicitud o respuesta. Si una respuesta coincide con las reglas de directiva, el objeto de la respuesta se agrega al grupo de contenido configurado en la directiva. Si no ha configurado un grupo de contenido, el objeto se agrega al grupo de contenido DEFAULT.

  • ¿Qué es una directiva acción?

    Se produce un golpe cuando una solicitud o respuesta coincide con una directiva de caché.

  • ¿Qué es un error?

    Se produce un error cuando una solicitud o respuesta no coincide con ninguna directiva de caché. También puede producirse una falla si la solicitud o respuesta coincide con una directiva de caché, pero alguna anulación del comportamiento de RFC impide que el objeto se almacene en la caché.

  • He configurado la función de almacenamiento en caché integrado del dispositivo Citrix ADC. Al agregar la directiva siguiente, aparece un mensaje de error. ¿Hay algún error en el comando?

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

    \> ERROR: No such command

    En el comando anterior, la expresión debe estar entre comillas. Sin comillas, se considera que el operador es el operador de tubería.

Requisitos de memoria

  • ¿Cuáles son los comandos que puedo ejecutar en el dispositivo Citrix ADC para comprobar la memoria asignada a la caché?

    Para mostrar la memoria asignada para la caché en el dispositivo Citrix ADC, ejecute cualquiera de los siguientes comandos desde la CLI:

    • show cache parameter

      En la salida, compruebe el valor del parámetro de límite de uso de memoria. Esta es la memoria máxima asignada para la caché.

    • show cache \<Content_Group_Name>

      En la salida, compruebe los valores de los parámetros Uso de memoria y Límite de uso de memoria que indican la memoria utilizada y asignada para el grupo de contenido individual.

  • Mi dispositivo Citrix ADC tiene 2 GB de memoria. ¿Hay algún límite de memoria recomendado para la caché?

    Para cualquier modelo del dispositivo Citrix ADC, puede asignar la mitad de la memoria a la caché. Sin embargo, Citrix recomienda asignar un poco menos de la mitad de la memoria, debido a la dependencia interna de la memoria. Puede ejecutar el siguiente comando para asignar 1 GB de memoria a la caché:

    set cache parameter -memLimit 1024

  • ¿Es posible asignar memoria para grupos de contenido individuales?

    Sí. Aunque asigne memoria para la caché integrada globalmente ejecutando el parámetro set cache —memlimit <Integer>, puede asignar memoria a grupos de contenido individuales ejecutando el <Content_Group_Name> <Integer> comando set cache —memLimit. La memoria máxima que puede asignar a grupos de contenido (combinada) no puede exceder la memoria asignada a la caché integrada.

  • ¿Cuál es la dependencia de la memoria entre la caché integrada y el búfer TCP?

    Si el dispositivo Citrix ADC tiene 2 GB de memoria, entonces el dispositivo reserva aproximadamente de 800 a 900 MB de memoria y el resto se asigna al sistema operativo FreeBSD. Por lo tanto, puede asignar hasta 512 MB de memoria a la memoria caché integrada y el resto se asigna al búfer TCP.

  • ¿Afecta al proceso de almacenamiento en caché si no asigno memoria global a la caché integrada?

    Si no asigna memoria a la memoria caché integrada, todas las solicitudes se envían al servidor. Para asegurarse de que ha asignado memoria a la caché integrada, ejecute el comando show cache parameter. En realidad, no se almacenará en caché ningún objeto si la memoria global es 0, por lo que debe establecerse primero.

Comandos de verificación

  • ¿Cuáles son las opciones para mostrar estadísticas de caché?

    Puede utilizar cualquiera de las siguientes opciones para mostrar las estadísticas de la caché:

    • stat cache

      Para mostrar el resumen de las estadísticas de caché.

    • stat cache –detail

      Para mostrar todos los detalles de las estadísticas de caché.

  • ¿Cuáles son las opciones para mostrar el contenido almacenado en caché?

    Para mostrar el contenido almacenado en caché, puede ejecutar el comando show cache object.

  • ¿Cuál es el comando que puedo ejecutar para mostrar las funciones de un objeto almacenado en caché?

    Si el objeto almacenado en la caché es, por ejemplo, GET //10.102.12.16:80/index.html, puede mostrar los detalles sobre el objeto ejecutando el siguiente comando desde la CLI del dispositivo:

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

  • ¿Es obligatorio especificar el nombre del grupo como parámetro para mostrar los objetos parametrizados en la memoria caché?

    Sí. Es obligatorio especificar el nombre del grupo como parámetro para mostrar los objetos parametrizados en la memoria caché. Por ejemplo, considere que ha agregado las siguientes directivas con la misma regla:

     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
    

    En este caso, para las solicitudes múltiples, si se evalúa la directiva p1, se incrementa su contador de visitas y la directiva almacena el objeto en el grupo g1, que tiene parámetros de acceso. Por lo tanto, debe ejecutar el siguiente comando para mostrar los objetos de la caché:

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

    Del mismo modo, para otro conjunto de solicitudes múltiples, si se evalúa la directiva p2, se incrementa su contador de visitas y la directiva almacena el objeto en el grupo g2, que no tiene parámetros de hit. Por lo tanto, debe ejecutar el siguiente comando para mostrar los objetos de la caché:

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

  • Hay algunas entradas en blanco en la salida del comando nscachemgr. ¿Cuáles son esas entradas?

    Considere el siguiente resultado de ejemplo del comando nscachemgr. Las entradas en blanco de esta salida se resaltan en negrita para su referencia:

     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
    

    Las entradas en blanco en la salida se deben a las propiedades de almacenamiento en caché predeterminadas para GET/HTTP/1.1.

Lavado de objetos

  • ¿Cómo puedo vaciar un objeto selectivo de la caché?

    Puede identificar un objeto de forma única por su dirección URL completa. Para vaciar dicho objeto, puede realizar cualquiera de las siguientes tareas:

    • Caché de vaciado
    • Grupo de contenido de vaciado
    • Vacía el objeto específico Para vaciar el objeto específico, debe especificar los parámetros de consulta. Especifique el parámetro InvalParam para vaciar el objeto. Este parámetro solo se aplica a una consulta.
  • ¿Algún cambio en la configuración de la caché activa el vaciado de la caché?

    Sí. Cuando realiza cambios en la configuración de caché, todos los comandos SET cache vacían inherentemente los grupos de contenido apropiados.

  • He actualizado los objetos en el servidor. ¿Necesito vaciar los objetos almacenados en caché?

    Sí. Al actualizar objetos en el servidor, debe vaciar los objetos almacenados en caché, o al menos los objetos y grupos de contenido relevantes. La memoria caché integrada no se ve afectada por una actualización del servidor. Continúa sirviendo los objetos almacenados en caché hasta que caduquen.

Caché Flash

  • ¿Qué es la función Flash Cache del dispositivo Citrix ADC?

    El fenómeno de las multitudes de Flash ocurre cuando un gran número de clientes acceden al mismo contenido. El resultado es un aumento repentino del tráfico hacia el servidor. La función Flash Cache permite que el dispositivo Citrix ADC mejore el rendimiento en tal situación mediante el envío de una sola solicitud al servidor. Todas las demás solicitudes se ponen en cola en el dispositivo y la respuesta única se sirve a todas las solicitudes. Puede utilizar cualquiera de los siguientes comandos para habilitar la función Caché rápida:

    • add cache contentGroup \<Group_Name> -flashCache YES
    • set cache contentGroup \<Group_Name> -flashCache YES
  • ¿Cuál es el límite para los clientes de Flash Cache?

    El número de clientes de Flash Cache depende de la disponibilidad de recursos en el dispositivo Citrix ADC.

Comportamiento predeterminado

  • ¿El dispositivo Citrix ADC recibe objetos de forma proactiva al caducar?

    El dispositivo Citrix ADC nunca recibe objetos de forma proactiva al caducar. Esto es cierto incluso para los objetos negativos. El primer acceso después de la expiración desencadena una solicitud al servidor.

  • ¿La caché integrada agrega clientes a la cola para servir incluso antes de que comience a recibir la respuesta?

    Sí. La caché integrada agrega clientes a la cola para servir incluso antes de que comience a recibir la respuesta.

  • ¿Cuál es el valor predeterminado para Verify cached object using parameter of the cache configuration?

    HOSTNAME_AND_IP es el valor predeterminado.

  • ¿El dispositivo Citrix ADC crea entradas de registro en los archivos de registro?

    Sí. El dispositivo Citrix ADC crea entradas de registro en los archivos de registro.

  • ¿Los objetos comprimidos se almacenan en la caché?

    Sí. Los objetos comprimidos se almacenan en la caché.

Interoperabilidad con otras funciones

  • ¿Qué sucede con los objetos que están actualmente almacenados en caché y que se están accediendo a través de SSL VPN?

    Los objetos almacenados en la caché y a los que se accede regularmente se sirven como hits de caché cuando se accede a través de SSL VPN.

  • ¿Qué sucede con los objetos almacenados en la caché cuando se accede a través de SSL VPN y posteriormente se accede a través de una conexión regular?

    Los objetos almacenados a través del acceso SSL VPN se sirven como un hit cuando se accede a través de la conexión normal.

  • Al usar weblogging, ¿cómo diferencio las entradas que indican la respuesta desde caché de las del servidor?

    Para las respuestas servidas desde la caché integrada, el campo de registro del servidor contiene el valor IC. Para las respuestas servidas desde un servidor, el campo de registro del servidor contiene el valor enviado por el servidor. A continuación se muestra una entrada de registro de ejemplo para una transacción de almacenamiento en caché integrada:

    "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"

    Junto con una solicitud de cliente, la respuesta registrada es la enviada al cliente y no necesariamente la enviada por el servidor.

Otros

  • ¿Qué significa configurar relexpiry y absexpiry?

    Al configurar relexpiry y absexpiry, significa que está anulando el encabezado independientemente de lo que aparezca en el encabezado. Puede configurar diferentes opciones de caducidad y el nivel de grupo de contenido. Con relexpiry, la expiración del encabezado se basa en la hora en que el Citrix ADC recibió el objeto. Con absexpiry, la caducidad se basa en la hora configurada en Citrix ADC. Relexpiry se configura en términos de segundos. Absexpiry es una hora del día.

  • ¿Qué significa configurar weakpos y heuristic?

    Los weakpos y heuristic son como valores de reserva. Si hay un encabezado de caducidad, solo se considera si el encabezado modificado por última vez está presente. El dispositivo Citrix ADC establece la caducidad sobre la base del encabezado modificado por última vez y el parámetro heuristic. El cálculo de caducidad heurístico determina el tiempo de caducidad mediante la comprobación del encabezado modificado por última vez. Un porcentaje de la duración desde la última modificación del objeto se utiliza como tiempo de caducidad. La heurística de un objeto que permanece sin modificar durante períodos de tiempo más largos y es probable que tenga períodos de caducidad más largos. —heurExpiryParam especifica el valor porcentual que se va a utilizar en este cálculo. De lo contrario, el dispositivo utiliza el valor weakpos.

  • ¿Qué debo considerar antes de configurar el almacenamiento en caché dinámico?

    Si hay algún parámetro que está en formato nombre-valor y no tiene la consulta URL completa, o si el dispositivo recibe el parámetro en un encabezado de cookie o en un cuerpo POST, considere la posibilidad de configurar el almacenamiento en caché dinámico. Para configurar el almacenamiento en caché dinámico, debe configurar el parámetro HitParams.

  • ¿Cómo se admite la codificación hexadecimal en los nombres de los parámetros?

    En el dispositivo Citrix ADC, la codificación %HEXHEX se admite en los nombres de los parámetros. En los nombres que especifique para HitParams o InvalParams, puede especificar un nombre que contiene la codificación %HEXHEX en los nombres. Por ejemplo, name, nam%65 y n%61m%65 son equivalentes.

  • ¿Cuál es el proceso para seleccionar un parámetro HitParam?

    Considere el siguiente extracto de un encabezado HTTP para una solicitud 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
    

    En la solicitud anterior, puede usar S1 y B1, resaltados en negrita para su referencia, como hitParams dependiendo de sus necesidades. Además, si utiliza -MatchCookies YES en el grupo de contenido ASPSESSIONIDQGQGGRNY, también puede utilizar estos parámetros como HitParams.

  • ¿Qué sucede con los clientes en cola si la respuesta no se almacena en caché?

    Si la respuesta no se puede almacenar en caché, todos los clientes de la cola reciben la misma respuesta que el primer cliente recibe.

  • ¿Puedo habilitar las funciones Poll every time (PET) y Flash Cache en el mismo grupo de contenido?

    No. No puede habilitar PET y Flash Cache en el mismo grupo de contenido. La caché integrada no realiza la función AutoPET en grupos de contenido de Flash Cache. La función PET garantiza que la caché integrada no sirve a un objeto almacenado sin consultar al servidor. Puede configurar PET explícitamente para un grupo de contenido.

  • ¿Cuándo se crean las entradas de registro para los clientes en cola?

    Las entradas de registro se crean para los clientes en cola poco después de que el dispositivo reciba el encabezado de respuesta. Las entradas de registro se crean solo si el encabezado de respuesta no hace que el objeto no se pueda almacenar en caché.

  • ¿Cuál es el significado de los valores DNS, HOSTNAME y HOSTNAME_AND_IP de Verify cached object using parameter of the cache configuration?

    Los significados son los siguientes:

    • set cache parameter -verifyUsing HOSTNAME

      Esto ignora la dirección IP de destino.

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      Esto coincide con la dirección IP de destino.

    • set cache parameter -verifyUsing DNS

      Esto utiliza el servidor DNS.

  • He establecido WeakNegreLexpiry en 600, que son 10 minutos. Noté que las respuestas 404 no se están almacenando en caché. ¿Cuál es la razón?

    Esto depende completamente de su configuración. De forma predeterminada, 404 respuestas se almacenan en caché durante 10 minutos. Si desea que todas las respuestas 404 se recuperen del servidor, especifique: weakNegreLexpiry 0. Puede ajustar el —weakNegrelExpiry a un valor deseado, como mayor o menor para obtener las respuestas 404 almacenadas en caché apropiadamente. Si ha configurado —ABSExpiry para respuestas positivas, es posible que no produzca los resultados deseados.

  • Cuando el usuario accede al sitio mediante el navegador Mozilla Firefox, se muestra el contenido actualizado. Sin embargo, cuando el usuario accede al sitio mediante el explorador Microsoft Internet Explorer, se muestra contenido obsoleto. ¿Por qué podría ser?

    Es posible que el explorador Microsoft Internet Explorer esté tomando el contenido de su caché local en lugar de la caché integrada de Citrix ADC. La razón podría ser que el navegador Microsoft Internet Explorer no respeta el encabezado relacionado con la caducidad en la respuesta.

    Para resolver este problema, puede inhabilitar la caché local de Internet Explorer y borrar el contenido sin conexión. Después de borrar el contenido sin conexión, el navegador debe mostrar el contenido actualizado

  • ¿Qué pasa si los hits son cero?

    Compruebe si la hora del servidor y la hora NS están sincronizadas. Y el límite WeakPosRelexpiry establecido debe soportar la diferencia de tiempo entre NS y el servidor como se muestra a continuación

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
    
  • ¿Por qué las directivas reciben visitas pero no se está almacenando en caché?

    Compruebe que la memoria esté asignada a la caché integrada y que la asignación sea mayor que cero.

  • ¿Es posible poner a cero los contadores de caché?

    No hay línea de comandos ni opción GUI para establecer los contadores de caché en cero, y el vaciado de la caché tampoco lo hace. Reiniciar el cuadro establece automáticamente estos contadores en cero.

Almacenamiento en caché integrado