Product Documentation

Setting Up the Integrated Cache

Sep 01, 2016

To use the integrated cache, you must install the license and enable the feature. After you enable the integrated cache, the Citrix® NetScaler® appliance automatically caches static objects as specified by built-in policies and generates statistics on cache behavior. (Built-in policies have an underscore in the initial position of the policy name.)

Even if the built-in policies are adequate for your situation, you might want to modify the global attributes. For example, you might want to modify the amount of NetScaler appliance memory allocated to the integrated cache.

If you would like to observe cache operation before changing settings, see "Displaying Cached Objects and Cache Statistics."

Note: The NetScaler cache is an in-memory store that is purged when you restart the appliance.

Installing the Integrated Cache License

Updated: 2013-10-28

An integrated cache license is required. For information about licenses, see information about obtaining NetScaler licenses at " http://support.citrix.com/article/ctx121062."

To install the license for the Integrated Caching feature

  1. Obtain a license code from Citrix, go to the command line interface, and log in.
  2. At the command line interface, copy the license file to the /nsconfig/license folder.
  3. Reboot the NetScaler appliance by using the following command:

    reboot

Enabling Integrated Caching

Updated: 2015-05-20

When you enable integrated caching, the NetScaler appliance begins caching server responses. If you have not configured any policies or content groups, the built in policies store cached objects in the Default content group.

To enable integrated caching by using the command line interface

At the command prompt, type one of the following commands to enable or disable integrated caching:

enable ns feature IC

To enable integrated caching by using the configuration utility

Navigate to System > Settings, click Configure Basic Features, and select Integrated Caching.

Configuring Global Attributes for Caching

Updated: 2014-08-08

Global attributes apply to all cached data. You can specify the amount of NetScaler memory allocated to the integrated cache, Via header insertion, a criterion for verifying that a cached object should be served, the maximum length of a POST body permitted in the cache, whether to bypass policy evaluation for HTTP GET requests, and an action to take when a policy cannot be evaluated.

The cache memory capacity is limited only by the memory of the hardware appliance. Also, any packet engine (the central distribution hub of all incoming TCP requests) in the nCore NetScaler appliance is aware of objects cached by other packet engines in the nCore NetScaler appliance.

Note that the default global memory limit is 0. Therefore, even if Integrated Caching is enabled, the NetScaler appliance does not cache any objects. You must explicitly set the global memory limit when integrated caching is enabled.

You can modify the global memory limit configured for caching objects. However, when you update the global memory limit to a value lower than the existing value (for example, from 10 GB to 4 GB), if a higher amount of memory (greater than 4 GB) is already being used to cache objects, the NetScaler continues using that amount of memory.

This means that even though the integrated caching limit is configured to some value, the actual limit used can be higher. This excessive memory is however released when the objects are removed from cache.

The output of the show cache parameter command indicates the configured value (Memory Usage limit) and the actual value being used (Memory usage limit (active value)).

To configure global settings for caching by using the command line interface

At the command prompt, type:

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

To configure global settings for caching by using the configuration utility

Navigate to Optimization > Integrated Caching, click Change Cache Settings, and configure the global settings for caching.

Built-in Content Group, Pattern Set, and Policies for the Integrated Cache

Updated: 2013-08-23

The Citrix NetScaler appliance includes a built-in integrated caching configuration that you can use for caching content. The configuration consists of a content group called ctx_cg_poc, a pattern set called ctx_file_extensions, and a set of integrated cache policies. In the content group ctx_cg_poc, only objects that are 500 KB or smaller are cached. The content is cached for 86000 seconds, and the memory limit for the content group is 512 MB. The pattern set is an indexed array of common file extensions for file-type matching.

The following table lists the built-in integrated caching policies. By default, the policies are not bound to any bind point. You must bind them to a bind point if you want the NetScaler appliance to evaluate traffic against the policies. The policies cache objects in the ctx_cg_poc content group.

Table 1. Built-in Integrated Caching Policies
Integrated caching policy name Policy rule Policy action Description

ctx_images

HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS_INDEX(\"ctx_file_extensions\").BETWEEN(101,150)

CACHE

Check whether the requested file is an image file (by comparing the extension of the requested object with the extensions in ctx_file_extensions, indexes 101 through 150) and then cache the file.

ctx_web_css

HTTP.REQ.URL.ENDSWITH(\".css\")

CACHE

Cache all cascading style sheet content.

ctx_doc_pdf

HTTP.REQ.URL.ENDSWITH(\".pdf\")

CACHE

Cache all PDF content.

ctx_web_JavaScript

HTTP.REQ.URL.ENDSWITH(\".js\")

CACHE

Cache all JSS content.

ctx_web_JavaScript-Res

HTTP.RES.HEADER(\"Content-Type\").CONTAINS(\"application/x-javascript\")

CACHE

Cache all JavaScript content.

ctx_NOCACHE_Cleanup

TRUE

NOCACHE

Do not cache any content.