ADC

Almacenamiento en caché integrado

La caché integrada proporciona almacenamiento en memoria en el dispositivo NetScaler y ofrece contenido web a los usuarios sin necesidad de un viaje de ida y vuelta a un servidor de origen. En el caso del contenido estático, la memoria caché integrada requiere poca configuración inicial. Después de habilitar la función de caché integrada y realizar la configuración básica (por ejemplo, determinar la cantidad de memoria del dispositivo NetScaler que la memoria caché puede usar), la memoria caché integrada utiliza directivas integradas para almacenar y publicar tipos específicos de contenido estático, incluidas páginas web simples y archivos de imágenes. También puede configurar la caché integrada para almacenar y servir contenido dinámico marcado como no almacenable en caché por servidores web y de aplicaciones (por ejemplo, registros de bases de datos y cotizaciones de stock).

Nota:

El término Caché Integrado se puede utilizar indistintamente con AppCache; tenga en cuenta que desde el punto de vista de la funcionalidad, ambos términos significan lo mismo.

Cuando una solicitud o respuesta coincide con la regla (expresión lógica) especificada en una directiva integrada o en una directiva que haya creado. El dispositivo NetScaler realiza la acción asociada a la directiva. De forma predeterminada, todas las directivas almacenan los objetos en caché y los recuperan del grupo de contenido predeterminado. Puede crear sus propios grupos de contenido para diferentes tipos de contenido.

Para permitir que el dispositivo busque objetos en caché en un grupo de contenido, puede configurar los selectores. Los selectores comparan los objetos almacenados en caché con las expresiones, o puede especificar parámetros para buscar objetos en el grupo de contenido. Si usa selectores según lo recomendado por Citrix, configúrelos primero para poder especificar los selectores al configurar los grupos de contenido. A continuación, configure los grupos de contenido que quiera agregar para que estén disponibles cuando configure las directivas. Para completar la configuración inicial, cree bancos de directivas enlazando cada directiva a un punto de enlace global o a un servidor virtual. O puede vincular una etiqueta a la que puedan llamar otros bancos de directivas.

El almacenamiento en caché integrado se puede mejorar mediante el método de precarga de objetos en caché antes de que caduquen. Para gestionar el manejo de los datos en caché, puede configurar los encabezados relacionados con el almacenamiento en caché insertados en las respuestas. La memoria caché integrada también puede actuar como un proxy de reenvío para otros servidores de caché.

Nota:

El almacenamiento en caché integrado requiere cierta familiaridad con las solicitudes y respuestas HTTP. Para obtener información sobre la estructura de los datos HTTP, consulte Live HTTP Headers en "<http://livehttpheaders.mozdev.org/>."

Cómo funciona la memoria caché de integración

La caché integrada supervisa las solicitudes HTTP y SQL que fluyen a través del dispositivo NetScaler y las compara con las directivas almacenadas. Según el resultado, la función de caché integrada busca la respuesta en la memoria caché o reenvía la solicitud al servidor de origen. Para las solicitudes HTTP, el almacenamiento en caché integrado sirve como contenido parcial de la caché en respuesta a las solicitudes de rango de bytes único y de rango de bytes de varias partes.

Los datos en caché se comprimen si el cliente acepta contenido comprimido. Puede configurar los tiempos de caducidad de un grupo de contenido y puede hacer caducar de forma selectiva las entradas de un grupo de contenido.

Los datos que se proporcionan desde la caché integrada son un éxito y los datos servidos desde el origen son un error de caché, como se describe en la siguiente tabla.

Tipo de transacción Especificación
Resultado de caché Respuestas que el dispositivo NetScaler proporciona desde la memoria caché, que incluyen: objetos estáticos, por ejemplo, archivos de imagen y páginas web estáticas, 200 páginas de aceptación, 203 páginas de respuestas no autorizadas, 300 páginas de opciones múltiples, 301 páginas movidas permanentemente, 302 páginas encontradas, 304 páginas no modificadas. Estas respuestas se conocen como respuestas positivas. El dispositivo NetScaler también almacena en caché las siguientes respuestas negativas: 307 páginas de redireccionamiento temporal, 403 páginas prohibidas, 404 páginas no encontradas y 410 páginas perdidas. Para mejorar aún más el rendimiento, puede configurar el dispositivo NetScaler para almacenar en caché más tipos de contenido.
Fallo de memoria caché almacenable En caso de que se pierda la memoria caché almacenable, el dispositivo NetScaler obtiene la respuesta del servidor de origen y almacena la respuesta en la memoria caché antes de entregarla al cliente.
Fallo de memoria caché no almacenable Un error de caché que no se pueda almacenar no es apropiado para el almacenamiento en caché. De forma predeterminada, cualquier respuesta que contenga los siguientes códigos de estado es un error de caché que no se puede almacenar: códigos de estado 201, 202, 204, 205, 206, todos los códigos 4xx, excepto los códigos de estado 403, 404 y 410, 5xx

Nota:

Para integrar el almacenamiento en caché dinámico con la infraestructura de su aplicación, utilice la API de NITRO para emitir comandos de caché de forma remota. Por ejemplo, puede configurar los desencadenadores que venzan las respuestas almacenadas en caché cuando se actualiza una tabla de base de datos.

Para garantizar la sincronización de las respuestas almacenadas en caché con los datos del servidor de origen, configure los métodos de caducidad. Cuando el dispositivo NetScaler recibe una solicitud que coincide con una respuesta caducada, actualiza la respuesta desde el servidor de origen.

Nota:

Citrix recomienda sincronizar las horas en el dispositivo NetScaler y en uno o más servidores de fondo.

Cómo funciona la memoria caché dinámica

El almacenamiento en caché dinámico evalúa las solicitudes y respuestas HTTP en función de pares de parámetros y valores, cadenas, patrones de cadenas u otros datos. Por ejemplo, supongamos que un usuario busca el error 31231 en una aplicación de notificación de errores. El explorador web envía la siguiente solicitud en nombre del usuario:

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

En este ejemplo, las solicitudes GET para esta aplicación de notificación de errores siempre contienen los siguientes parámetros:

  • IssuePage
  • RecordID
  • Plantilla
  • TableId

Las solicitudes GET no actualizan ni alteran los datos, por lo que puede configurar estos parámetros en las directivas y selectores de almacenamiento en caché, de la siguiente manera:

  • Configura una directiva de almacenamiento en caché que busca la cadena mybugreportingsystem y el método GET en las solicitudes HTTP. Esta directiva dirige las solicitudes coincidentes a un grupo de contenido en busca de errores.
  • En el grupo de contenido de errores, configura un selector hit que coincida con varios pares de parámetros y valores, incluidos IssuePage, RecordID, etc.

Nota

Un explorador web puede enviar varias solicitudes GET en función de una acción del usuario. La siguiente es una serie de tres solicitudes GET separadas que un explorador emite cuando un usuario busca un error basado en un ID de error.

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

Para cumplir con estas solicitudes, se envían varias respuestas al explorador del usuario, y la página web que el usuario ve es un conjunto de las respuestas.

Si un usuario actualiza un informe de errores, las respuestas correspondientes de la memoria caché deben actualizarse con datos del servidor de origen. La aplicación de notificación de errores emite solicitudes HTTP POST cuando un usuario actualiza un informe de errores. En este ejemplo, configura lo siguiente para garantizar que las solicitudes POST activen la invalidación en la memoria caché:

  • Directiva de invalidación del tiempo de solicitud que busca la cadena mybugreportingsystem y el método de solicitud HTTP POST y dirige las solicitudes coincidentes al grupo de contenido para recibir informes de errores.
  • Un selector de invalidación para el grupo de contenido de los informes de errores que caduca el contenido almacenado en caché según el parámetro RecordID. Este parámetro aparece en todas las respuestas, por lo que el selector de invalidación puede hacer caducar todos los elementos relevantes de la memoria caché.

El siguiente extracto muestra una solicitud POST que actualiza el informe de error de ejemplo.

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

Cuando el dispositivo NetScaler recibe esta solicitud, hace lo siguiente:

  • Hace coincidir la solicitud con una directiva de invalidación.
  • Busca el grupo de contenido que se nombra en la directiva.
  • Aplica el selector de invalidación para este grupo de contenido y hace caducar todas las respuestas que coincidan con RecordID=31231.

Cuando un usuario emite una nueva solicitud para este informe de error, el dispositivo NetScaler va al servidor de origen para obtener copias actualizadas de todas las respuestas asociadas a la instancia del informe. Almacena las respuestas en el grupo de contenido y las envía al explorador web del usuario, que vuelve a armar el informe y lo muestra.

Configurar la memoria caché integrada

Para utilizar la memoria caché integrada, debe instalar la licencia y habilitar la función. Tras habilitar la memoria caché integrada, el dispositivo NetScaler® almacena automáticamente en caché los objetos estáticos según lo especificado en las directivas integradas y genera estadísticas sobre el comportamiento de la memoria caché. (Las directivas integradas tienen un subrayado en la posición inicial del nombre de la directiva).

Incluso si las directivas integradas son adecuadas para su situación, es posible que quiera modificar los atributos globales. Por ejemplo, es posible que quiera modificar la cantidad de memoria del dispositivo NetScaler asignada a la caché integrada.

Si quiere observar el funcionamiento de la caché antes de cambiar la configuración, consulte “Visualización de objetos almacenados en caché y estadísticas de caché.”

Nota:

La memoria caché de NetScaler es un almacén en memoria que se purga al reiniciar el dispositivo.

Para instalar la licencia de caché integrada

  • Se requiere una licencia de caché integrada.
  • Obtenga un código de licencia de Citrix, vaya a la interfaz de línea de comandos e inicie sesión.

En la interfaz de línea de comandos, copie el archivo de licencia en la carpeta /nsconfig/license.

  • Reinicie el dispositivo NetScaler mediante el siguiente comando:

reboot

Para habilitar el almacenamiento en caché integrado: al habilitar el almacenamiento en caché integrado, el dispositivo NetScaler comienza a almacenar en caché las respuestas del servidor. Si no ha configurado ninguna directiva o grupo de contenido, las directivas integradas almacenan los objetos en caché en el grupo de contenido predeterminado.

En el símbolo del sistema, escriba uno de los siguientes comandos para habilitar o inhabilitar el almacenamiento en caché integrado:

enable ns feature IC

Configurar atributos globales para el almacenamiento en caché

Los atributos globales se aplican a todos los datos almacenados en caché. Puede especificar la cantidad de memoria de NetScaler asignada a la memoria caché integrada mediante la inserción de encabezados. Criterio para comprobar que se debe servir un objeto almacenado en caché. La longitud máxima de un cuerpo POST permitida en la memoria caché, si se debe omitir la evaluación de directivas para las solicitudes HTTP GET y la acción que se debe realizar cuando no se puede evaluar una directiva.

La capacidad de la memoria caché solo está limitada por la memoria del dispositivo de hardware. Además, cualquier motor de paquetes (centro de distribución central de todas las solicitudes TCP entrantes) del dispositivo nCore NetScaler conoce los objetos almacenados en caché por otros motores de paquetes del dispositivo nCore NetScaler.

Nota:

Cuando el límite de memoria global predeterminado se establece como 0 y la función Almacenamiento en caché integrado (IC) está habilitada, el dispositivo no almacena en caché ningún objeto. Para el almacenamiento en caché, debe configurar explícitamente el límite de memoria global. Sin embargo, si habilita la opción “set authentication, authorization, and auditing parameter enableStaticPageCaching”, habrá una memoria predeterminada configurada en el dispositivo. Esta memoria no es suficiente para almacenar en caché objetos grandes, por lo que es necesario asignar un límite de memoria más alto para el IC. Puede hacerlo configurando el comando “set cache parameter –memLimit”. La nueva configuración se aplica solo después de guardar la configuración y reiniciar el dispositivo.

Puede modificar el límite de memoria global configurado para almacenar objetos en caché. Sin embargo, al actualizar el límite de memoria global a un valor inferior al valor existente (por ejemplo, de 10 GB a 4 GB), el dispositivo sigue utilizando el límite de memoria.

Esto significa que, aunque el límite de almacenamiento en caché integrado esté configurado en algún valor, el límite real utilizado puede ser mayor. Sin embargo, este exceso de memoria se libera cuando los objetos se eliminan de la memoria caché.

El resultado del comando show cache parameter indica el valor configurado (memory Usage limit) y el valor real que se está usando (memory usage limit (active value)).

En la línea de comandos, escriba:

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

Habilitar el almacenamiento en caché integrado mediante la GUI de NetScaler

Vaya a Sistema > Configuración, haga clic en Configurar funciones básicas y seleccione Almacenamiento en caché integrado.

Configurar la configuración global para el almacenamiento en caché mediante la GUI de NetScaler

Vaya a Optimización > Almacenamiento en caché integrado, haga clic en Cambiar configuración de caché y configure la configuración global para el almacenamiento en caché.

Configurar grupo de contenido integrado, conjunto de patrones y directivas para la caché integrada

El dispositivo NetScaler incluye una configuración de almacenamiento en caché integrada que puede utilizar para almacenar contenido en caché. La configuración consiste en un grupo de contenido denominado ctx_cg_poc, un conjunto de patrones denominado ctx_file_extensions y un conjunto de directivas de caché integradas. En el grupo de contenido ctx_cg_poc, solo se almacenan en caché los objetos de 500 KB o menos. El contenido se almacena en caché durante 86000 segundos y el límite de memoria para el grupo de contenido es de 512 MB. El conjunto de patrones es una matriz indexada de extensiones comunes para la coincidencia de tipos de archivos.

En la siguiente tabla se enumeran las directivas de almacenamiento en caché integradas. De forma predeterminada, las directivas no están enlazadas a ningún punto de enlace. Debe vincular las directivas a un punto de enlace si quiere que el dispositivo NetScaler evalúe el tráfico en función de las directivas. Las directivas almacenan en caché los objetos del grupo de contenido ctx_cg_poc.

Nombre de la directiva de almacenamiento en caché integrada Regla de directiva
_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

Configuración de vaciado de caché

Puede vaciar un grupo de caché, grupos de caché o un localizador de objetos de caché. Los siguientes son los comandos para vaciar los objetos de la caché.

En la línea de comandos, escriba:

flush cache contentgroup all

Ejemplo

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

Ejemplo:

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

Ejemplo:

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

Vaciar la configuración de caché mediante la GUI de NetScaler

Complete los pasos para configurar el vaciado de caché mediante la GUI de NetScaler

  1. Vaya a Optimización > Grupos de contenido.
  2. En el panel detallado de los grupos de contenido, haga clic en Agregar.
  3. En la página Crear grupos de contenido en caché, defina el siguiente parámetro en la ficha Otros :
    1. Vacía la caché. Seleccione la casilla de verificación para vaciar el objeto de caché.
  4. Haga clic en Crear y Cerrar.

Configurar el almacenamiento en caché integrado para varios casos

La siguiente sección describe la configuración del almacenamiento en caché integrado en el dispositivo NetScaler para varios casos.

A partir de la versión 9.2 de NetScaler, el almacenamiento en caché integrado tiene más memoria para el almacenamiento en caché. La memoria de almacenamiento en caché integrada solo está limitada por la memoria disponible en el dispositivo de hardware. Puede asignar hasta el 50 por ciento de la memoria disponible a la función de almacenamiento en caché integrada.

Para establecer la asignación de memoria para la memoria caché mediante la CLI

En la línea de comandos, escriba:

set cache parameter -memlimit <value>

Nota:

El límite de memoria global predeterminado para el almacenamiento en caché integrado es cero. Por lo tanto, incluso si habilita la función de almacenamiento en caché integrada, el dispositivo NetScaler no almacena en caché ningún objeto hasta que se establezca explícitamente el límite de memoria global.

En la siguiente sección se indica que debe configurar el almacenamiento en caché integrado en diferentes casos.

Nota:

El límite de memoria del dispositivo NetScaler se identifica cuando se inicia el dispositivo. Por lo tanto, cualquier cambio en el límite de memoria requiere que reinicie el dispositivo para que los cambios se apliquen a todos los motores de paquetes.

El almacenamiento en caché integrado está habilitado y el límite de memoria caché está establecido en distinto de cero

Imagine un caso en el que se inicia el dispositivo, se habilita la función de almacenamiento en caché integrada y el límite de memoria global se establece en un número positivo. La memoria que configuró anteriormente se asigna a la función de almacenamiento en caché integrada durante el proceso de arranque. Puede que quiera cambiar el límite de memoria a otro valor en función de la memoria disponible en el dispositivo.

Configuración mediante la CLI

  1. Mostrar el parámetro de caché
        > 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. Establecer un límite de memoria distinto de cero

set cache parameter -memlimit 600

Nota:

El comando anterior muestra el siguiente mensaje de advertencia: Advertencia: Para utilizar un nuevo límite de memoria caché integrada, guarde la configuración y reinicie el dispositivo NetScaler.

  1. Guarda la configuración

save config

  1. Desde el símbolo del shell, ejecute el siguiente comando para verificar en el archivo de configuración.

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

  1. Cambiar el límite de memoria

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

  1. Reiniciar el dispositivo

root@ns# reboot

  1. Verifique el nuevo valor para el límite de memoria
        > 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-->

Después de que todos los motores de paquetes se inicien correctamente, la función de almacenamiento en caché integrado negocia la memoria que había configurado. Si el dispositivo no puede utilizar la memoria configurada, la memoria se asigna en consecuencia. Si la memoria disponible es inferior a la que ha asignado, el dispositivo recomienda un número menor. La función de almacenamiento en caché integrada utiliza lo mismo que el valor activo.

El almacenamiento en caché integrado está inhabilitado y el límite de memoria caché está establecido en distinto de cero

En este caso, al iniciar el dispositivo, la función de almacenamiento en caché integrada se inhabilita y el límite de memoria global se establece en un número positivo. Por lo tanto, no se asigna memoria al almacenamiento en caché integrado durante el proceso de arranque.

Configuración mediante la CLI

  1. Mostrar el parámetro de caché
        > 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. Establecer un nuevo límite de memoria

set cache parameter -memlimit 500

Nota:

El comando anterior muestra el siguiente mensaje de advertencia: Advertencia: Función no habilitada [IC].

  1. Guarda la configuración

save config

  1. Desde el símbolo del shell, ejecute el siguiente comando para verificar en el archivo de configuración

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

  1. Cambiar el límite de memoria

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

  1. Verifique el nuevo valor para el límite de memoria
        > 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. Habilitar la función de almacenamiento en caché integrado

enable ns feature IC

  1. Verifique el nuevo valor para el límite de memoria
        > 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-->

Nota:

500 MB de memoria se asignan a la función de almacenamiento en caché integrada.

  1. Guarde la configuración para asegurarse de que la memoria se asigne automáticamente a la función cuando se reinicie el dispositivo.

El almacenamiento en caché integrado está habilitado y la memoria caché está configurada en cero

En este caso, al iniciar el dispositivo, se habilita la función de almacenamiento en caché integrada y el límite de memoria global se establece en cero. Por lo tanto, no se asigna memoria al almacenamiento en caché integrado durante el proceso de arranque.

Configuración mediante la CLI

  1. Verifique los límites de memoria establecidos en el archivo ns.conf desde el símbolo del shell

root@ns# cat ns.conf | grep memLimit

  1. Cambiar el límite de memoria

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

  1. Verifique el valor del límite de memoria
        > 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-->

Nota:

El límite de memoria se establece en 0 MB y no se asigna memoria a la función de almacenamiento en caché integrada.

  1. Establezca los límites de memoria para garantizar que la función de almacenamiento en caché integrada almacena en caché objetos

set cache parameter -memLimit 600

Una vez ejecutado el comando anterior, el dispositivo negocia la memoria para la función de almacenamiento en caché integrada y la memoria disponible se asigna a la función. El resultado es que el dispositivo almacene objetos en caché sin reiniciarlo.

  1. Verifique el valor del límite de memoria
        > 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-->

Nota:

600 MB de memoria se asignan a la función de almacenamiento en caché integrado.

  1. Guarde la configuración. Asegúrese de que la memoria se asigne automáticamente a la función cuando se reinicie el dispositivo.

  2. Verifique los límites de memoria establecidos en el archivo ns.conf desde el símbolo del shell

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

  1. Cambiar el límite de memoria

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

El almacenamiento en caché integrado está inhabilitado y la memoria caché se establece en cero

En este caso, al iniciar el dispositivo, la función de almacenamiento en caché integrada se inhabilita y el límite de memoria global se establece en cero. Por lo tanto, no se asigna memoria al almacenamiento en caché integrado durante el proceso de arranque.

Configuración mediante la CLI

  1. Verifique los límites de memoria establecidos en el archivo ns.conf desde el símbolo del shell

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

  1. Cambiar el límite de memoria

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

  1. Verifique el valor del límite de memoria
        > 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-->

Nota:

El límite de memoria se establece en 0 MB y no se asigna memoria a la función de almacenamiento en caché integrada. Además, cuando ejecuta cualquier comando de configuración de caché, aparece el siguiente mensaje de advertencia: Advertencia: función no habilitada [IC].

  1. Habilitar la función de almacenamiento en caché integrado

enable ns feature IC

Nota:

En esta etapa, cuando se habilita la función de almacenamiento en caché integrado, el dispositivo no asigna memoria a la función. Como resultado, ningún objeto se almacena en caché en la memoria. Además, cuando ejecuta cualquier comando de configuración de caché, aparece el siguiente mensaje de advertencia: No hay memoria configurada para IC. Utilice el comando set cache parameter para establecer el límite de memoria.

  1. Establezca los límites de memoria para garantizar que la función de almacenamiento en caché integrada almacena en caché objetos

set cache parameter -memLimit 500

Una vez ejecutado el comando anterior, el dispositivo negocia la memoria para la función de almacenamiento en caché integrada y la memoria disponible se asigna a la función. El resultado es que el dispositivo almacenará en caché objetos sin reiniciar el dispositivo.

Nota:

El orden en el que habilita la función y establece los límites de memoria es importante. Si establece los límites de memoria antes de habilitar la función, aparecerá el siguiente mensaje de advertencia: Advertencia: Función no habilitada [IC].

  1. Verifique el valor del límite de memoria
        > 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-->

Nota:

500 MB de memoria se asignan a la función de almacenamiento en caché integrada.

  1. Guarda la configuración

save config

  1. Verifique los límites de memoria establecidos en el archivo ns.conf desde el símbolo del shell

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

  1. Cambiar el límite de memoria

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

Almacenamiento en caché integrado