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 el mismo que el de cualquier otro grupo. El único atributo que hace que el grupo de contenido DEFAULT sea especial es 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.

  • ¿Qué es la opción “Control de caché” del nivel de grupo de contenido?

    Puede enviar cualquier encabezado de control de caché al navegador. Hay una opción a 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 selección de 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. La siguiente es la sintaxis para configurar este valor desde la CLI.

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

  • ¿Para qué sirve la opción expireAtLastByte?

    La opción ExpireAtLastByte permite que la memoria caché integrada haga caducar el objeto cuando se descargue. En ese momento, solo se atienden desde la memoria caché las solicitudes pendientes. Las solicitudes nuevas se envían al servidor. Esta configuración resulta útil cuando el objeto se modifica con frecuencia, como en el caso de las cotizaciones bursátiles. Este mecanismo de caducidad funciona junto con la función Flash Cache. Para configurar una opción ExpireAtLastByte, ejecute el siguiente comando desde la CLI:

    add cache contentGroup \<Group_Name> –expireAtLastByte YES

Directiva 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 añaden o anulan el comportamiento estándar de almacenamiento en caché HTTP. Las directivas determinan una acción, como CACHE o NOCACHE, según las características específicas de la solicitud o la respuesta. Si una respuesta coincide con las reglas de la directiva, el objeto de la respuesta se agrega al grupo de contenido configurado en la directiva. Si no ha configurado ningún grupo de contenido, el objeto se añade al grupo de contenido DEFAULT.

  • ¿Qué es un golpe de directiva?

    Se produce una selección cuando una solicitud o respuesta coincide con una directiva de caché.

  • ¿Qué es una señorita?

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

  • He configurado la función de almacenamiento en caché integrado del dispositivo NetScaler. Al agregar la siguiente directiva, 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 la tubería.

Requisitos de memoria

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

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

    • show cache parameter

      En la salida, compruebe el valor del parámetro Límite de uso de memoria. Esta es la memoria máxima asignada a la memoria 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 NetScaler tiene 2 GB de memoria. ¿Hay algún límite de memoria recomendado para la memoria caché?

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

    set cache parameter -memLimit 1024

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

    Sí. <Integer>Si bien se asigna memoria para la memoria caché integrada de forma global mediante la ejecución del parámetro set cache —memlimit<Integer>, se puede asignar memoria a grupos de contenido individuales mediante la ejecución del comando set cache <Content_Group_Name>—memLimit. La memoria máxima que puede asignar a los grupos de contenido (combinada) no puede superar la memoria que ha asignado a la memoria caché integrada.

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

    Si el dispositivo NetScaler tiene 2 GB de memoria, el dispositivo reserva aproximadamente de 800 MB 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 memoria 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 memoria caché integrada, ejecute el comando show cache parameter. En realidad, no se almacena ningún objeto en caché si la memoria global es 0, por lo que debe configurarse primero.

Comandos de verificación

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

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

    • stat cache

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

    • stat cache –detail

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

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

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

  • ¿Cuál es el comando que puedo ejecutar para mostrar las características de un objeto almacenado en la memoria caché?

    Si el objeto almacenado en la memoria caché es, por ejemplo, GET //10.102.12.16:80/index.html, puede mostrar los detalles del 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
     <!--NeedCopy-->
    

    En este caso, para las solicitudes múltiples, si se evalúa la directiva p1, su contador de selección se incrementa y la directiva almacena el objeto en el grupo g1, que tiene parámetros de selección. Por lo tanto, debe ejecutar el siguiente comando para mostrar los objetos de la memoria 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, su contador de selección se incrementa y la directiva almacena el objeto en el grupo g2, que no tiene parámetros de selección. Por lo tanto, debe ejecutar el siguiente comando para mostrar los objetos de la memoria caché:

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

  • Me doy cuenta de que hay algunas entradas en blanco en la salida del comando nscachemgr. ¿Cuáles son esas entradas?

    Considere el siguiente ejemplo de salida 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
     <!--NeedCopy-->
    

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

Enjuagar objetos

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

    Puede identificar un objeto de forma exclusiva por su URL completa. Para vaciar un objeto de este tipo, puede realizar cualquiera de las siguientes tareas:

    • Vaciar la caché
    • Flush el grupo de contenido
    • Vacíe el objeto específico

    Para vaciar el objeto específico, debe especificar los parámetros de la consulta. Debe especificar 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 memoria caché provoca el vaciado de la memoria caché?

    Sí. Al cambiar a la configuración de caché, todos los comandos SET cache vacían de forma inherente los grupos de contenido apropiados.

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

    Sí. Al actualizar objetos en el servidor, debe vaciar los objetos 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. Sigue sirviendo los objetos en caché hasta que caduquen.

Caché flash

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

    El fenómeno de las multitudes en Flash se produce cuando muchos clientes acceden al mismo contenido. El resultado es un aumento repentino del tráfico hacia el servidor. La función Flash Cache permite al dispositivo NetScaler mejorar el rendimiento en tal situación al enviar solo una solicitud al servidor. Todas las demás solicitudes se ponen en cola en el dispositivo y se proporciona una respuesta única a las solicitudes. Puede utilizar cualquiera de los siguientes comandos para habilitar la función de 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?

    La cantidad de clientes de Flash Cache depende de la disponibilidad de recursos en el dispositivo NetScaler.

Comportamiento predeterminado

  • ¿El dispositivo NetScaler recibe objetos de forma proactiva cuando caducan?

    El dispositivo NetScaler nunca recibe objetos de forma proactiva cuando caducan. Esto es cierto incluso para los objetos negativos. El primer acceso después de la caducidad activa una solicitud al servidor.

  • ¿La memoria caché integrada añade clientes a la cola para atenderlos incluso antes de que comience a recibir la respuesta?

    Sí. La memoria caché integrada añade a los clientes a la cola para atenderlos incluso antes de que comience a recibir la respuesta.

  • ¿Cuál es el valor predeterminado del parámetro Verify cache object using de la configuración de caché?

    HOSTNAME_AND_IP es el valor predeterminado.

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

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

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

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

Interoperabilidad con otras funciones

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

    Los objetos almacenados en la caché y a los que se accede regularmente se sirven como caché, selecciónelo 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 selección cuando se accede a través de la conexión normal.

  • Cuando uso el registro web, ¿cómo diferencio las entradas que indican la respuesta servida de la caché de las servidas por el servidor?

    Para las respuestas servidas desde la memoria 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 un ejemplo de entrada de registro 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 que se envía al cliente y no necesariamente la que envía el servidor.

Nota

Cuando se utiliza el registro web, las respuestas de la memoria caché integrada contienen el valor IC en el campo de registro del servidor. El campo de registro del servidor está presente en el cliente NSWL con el especificador de formato “%o1”.

Otros

  • ¿Qué significa configurar relexpiry y absexpiry?

    Al configurar relexpiry y absexpiry, significa que va a anular el encabezado independientemente de lo que aparezca en el encabezado. Puede configurar una configuración de caducidad diferente y el nivel de grupo de contenido. Con relexpiry, la caducidad del encabezado se basa en el momento en que NetScaler recibe el objeto. Con absexpiry, la caducidad se basa en el tiempo configurado en NetScaler. Relexpiry se configura en segundos. Absexpiry es una hora del día.

  • ¿Qué significa configurar weakpos y heuristic?

    La heurística weakpos y la heurística 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 NetScaler establece la caducidad en función del encabezado modificado por última vez y del parámetro heurístico. El cálculo heurístico de caducidad determina el tiempo de caducidad comprobando el 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 modificarse durante períodos de tiempo más prolongados 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 weakpos valor.

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

    Si hay algún parámetro en forma de nombre-valor y no tiene la consulta URL completa, o si el dispositivo recibe el parámetro en el encabezado de una cookie o en el cuerpo de una PUBLICACIÓN, 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 NetScaler, los nombres de los parámetros admiten la codificación %HEXHEX. En los nombres que especifique para HitParams o InValParams, puede especificar un nombre que contenga la codificación %HEXHEX en los nombres. Por ejemplo, name, name%65 y n %61m%65 son equivalentes.

  • ¿Cuál es el proceso para seleccionar un parámetro de 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
     <!--NeedCopy-->
    

    En la solicitud anterior, puede usar S1 y B1, resaltados en negrita como referencia, como HitParams, según sus requisitos. Además, si usa -MatchCookies YES en el grupo de contenido ASPSESSIONIDQGQGGRNY, también puede usar estos parámetros como HitParams.

  • ¿Qué ocurre con los clientes en cola si la respuesta no se puede almacenar en caché?

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

  • ¿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 memoria caché integrada no realiza la función AutoPet en los grupos de contenido de Flash Cache. La función PET garantiza que la memoria caché integrada no sirva a un objeto almacenado sin consultar al servidor. Puede configurar PET de forma explícita 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 la 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 del objeto Verify en caché mediante el parámetro de configuración de caché?

    Los significados son los siguientes:

    • set cache parameter -verifyUsing HOSTNAME

      El comando ignora la dirección IP de destino.

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      El comando coincide con la dirección IP de destino.

    • set cache parameter -verifyUsing DNS

      El comando usa el servidor DNS.

  • He configurado WeakNegrellExpiry en 600, que son 10 minutos. Me di cuenta de que las respuestas 404 no se almacenan en caché. ¿Cuál es el motivo?

    Esto depende completamente de su configuración. De forma predeterminada, las respuestas 404 se almacenan en caché durante 10 minutos. Si desea que todas las respuestas 404 se obtengan del servidor, especifique WeakNegrellExpiry 0. Puede ajustar —WeakNegrellExpiry al valor deseado, por ejemplo, más alto o más bajo, para que las 404 respuestas se almacenen en caché de forma adecuada. Si ha configurado —AbsExpiry para obtener 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 navegador Microsoft Internet Explorer, se muestra contenido obsoleto. ¿Cuál podría ser el motivo?

    Es posible que el navegador Microsoft Internet Explorer esté tomando el contenido de su caché local en lugar de la memoria caché integrada de NetScaler. El motivo puede ser que el navegador Microsoft Internet Explorer no respeta el encabezado relacionado con la caducidad de la respuesta.

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

  • ¿Qué pasa si los aciertos son cero?

    Compruebe si la hora del servidor y la hora NS están sincronizadas. Y el límite de WeakPosRelExpiry establecido debe incluir la diferencia de tiempo entre NS y el servidor de la siguiente manera:

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
     <!--NeedCopy-->
    
  • ¿Por qué las directivas se ven perseguidas pero no se almacena nada en caché?

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

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

    No hay ninguna opción de línea de comandos ni de interfaz gráfica de usuario para establecer los contadores de caché en cero, y vaciar la memoria caché tampoco lo hace. Reiniciar el cuadro establece automáticamente estos contadores en cero.

Almacenamiento en caché integrado