Jump to content
Welcome to our new Citrix community!

Trying to make sense of Integrated Caching stats


Recommended Posts

Hi All,

 

I am caching http callout responses from a 3rd party web platform that does IP location lookups. We have enabled Integrated Caching feature (calloutContentGroup). These httpcallout's are used by NetScaler Gateway session policies based on users location. For example:

 

(SYS.HTTP_CALLOUT(HTTPCALLOUT_IP_GeoLocation).CONTAINS("US") && AAA.USER.IS_MEMBER_OF("GroupA")

(SYS.HTTP_CALLOUT(HTTPCALLOUT_IP_GeoLocation).CONTAINS("US") && AAA.USER.IS_MEMBER_OF("GroupB")

(SYS.HTTP_CALLOUT(HTTPCALLOUT_IP_GeoLocation).CONTAINS("US") && AAA.USER.IS_MEMBER_OF("GroupC")


The logic here is that we would perform a single callout to gather the IP & location details and then each session policy that it loops through will use the cached entry rather than perform an httpcallout every single time.

Additionally, we also have nFactor AAA caching (loginastaticobjects) enabled to optimise performance of Apache web server (we hit Apache thread maximums without this enabled).

 

I am trying to interpret the IC cache statistics that I am seeing and have a few questions that I cannot find a clear explaination for:

 

1) what is the difference between 'non-304 hits' and '304 hits'?
To me 304 seems to imply that the data in cache is still accurate and can be used whereas non-304 requires new/refreshed page to be sent?
 

2) If the value for calloutContentGroup '304 hits' is 0 and the 'non-304 hits' is 4million, does that imply that none of the cached callout entries are being hit and every session policy is performing a new callout?

 

Obviously if the latter is happening then the config is not working as desired...

 

Thanks all..

Andy
 

IC_statistics.PNG

Link to comment
Share on other sites

1) 304:

Caching will serve from cache. However, objects in cache time out, so at some point, the object is expired. Because of that, the proxy will not be able to retrieve from cache, however, it will send a if modified since <time retrieved>. The server will either reply with a new object, or with a 304, not modified. In case of a 304, the time stamp will get increased, in case of a 200, the new object will get stored.

 

2) There is no proxy between your ADC and the cache (it's cached locally on your ADC). So 304 won't happen. That's just fine and you see, it retrieved objects from cache 4,784,017 times. That's a huge number. Your caching solution works perfectly well.

 

Greetings from sunny Austria

 

Johannes Norz

CTA, CCI, CCE-N

 

Visit my blog

Try my ADC test environment

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...