-
Getting Started with NetScaler
-
Deploy a NetScaler VPX instance
-
Optimize NetScaler VPX performance on VMware ESX, Linux KVM, and Citrix Hypervisors
-
Apply NetScaler VPX configurations at the first boot of the NetScaler appliance in cloud
-
Configure simultaneous multithreading for NetScaler VPX on public clouds
-
Install a NetScaler VPX instance on Microsoft Hyper-V servers
-
Install a NetScaler VPX instance on Linux-KVM platform
-
Prerequisites for installing NetScaler VPX virtual appliances on Linux-KVM platform
-
Provisioning the NetScaler virtual appliance by using OpenStack
-
Provisioning the NetScaler virtual appliance by using the Virtual Machine Manager
-
Configuring NetScaler virtual appliances to use SR-IOV network interface
-
Configure a NetScaler VPX on KVM hypervisor to use Intel QAT for SSL acceleration in SR-IOV mode
-
Configuring NetScaler virtual appliances to use PCI Passthrough network interface
-
Provisioning the NetScaler virtual appliance by using the virsh Program
-
Provisioning the NetScaler virtual appliance with SR-IOV on OpenStack
-
Configuring a NetScaler VPX instance on KVM to use OVS DPDK-Based host interfaces
-
-
Deploy a NetScaler VPX instance on AWS
-
Deploy a VPX high-availability pair with elastic IP addresses across different AWS zones
-
Deploy a VPX high-availability pair with private IP addresses across different AWS zones
-
Protect AWS API Gateway using the NetScaler Web Application Firewall
-
Configure a NetScaler VPX instance to use SR-IOV network interface
-
Configure a NetScaler VPX instance to use Enhanced Networking with AWS ENA
-
Deploy a NetScaler VPX instance on Microsoft Azure
-
Network architecture for NetScaler VPX instances on Microsoft Azure
-
Configure multiple IP addresses for a NetScaler VPX standalone instance
-
Configure a high-availability setup with multiple IP addresses and NICs
-
Configure a high-availability setup with multiple IP addresses and NICs by using PowerShell commands
-
Deploy a NetScaler high-availability pair on Azure with ALB in the floating IP-disabled mode
-
Configure a NetScaler VPX instance to use Azure accelerated networking
-
Configure HA-INC nodes by using the NetScaler high availability template with Azure ILB
-
Configure a high-availability setup with Azure external and internal load balancers simultaneously
-
Configure a NetScaler VPX standalone instance on Azure VMware solution
-
Configure a NetScaler VPX high availability setup on Azure VMware solution
-
Configure address pools (IIP) for a NetScaler Gateway appliance
-
Deploy a NetScaler VPX instance on Google Cloud Platform
-
Deploy a VPX high-availability pair on Google Cloud Platform
-
Deploy a VPX high-availability pair with external static IP address on Google Cloud Platform
-
Deploy a single NIC VPX high-availability pair with private IP address on Google Cloud Platform
-
Deploy a VPX high-availability pair with private IP addresses on Google Cloud Platform
-
Install a NetScaler VPX instance on Google Cloud VMware Engine
-
-
Solutions for Telecom Service Providers
-
Load Balance Control-Plane Traffic that is based on Diameter, SIP, and SMPP Protocols
-
Provide Subscriber Load Distribution Using GSLB Across Core-Networks of a Telecom Service Provider
-
Authentication, authorization, and auditing application traffic
-
Basic components of authentication, authorization, and auditing configuration
-
Web Application Firewall protection for VPN virtual servers and authentication virtual servers
-
On-premises NetScaler Gateway as an identity provider to Citrix Cloud
-
Authentication, authorization, and auditing configuration for commonly used protocols
-
Troubleshoot authentication and authorization related issues
-
-
-
-
-
-
Configure DNS resource records
-
Configure NetScaler as a non-validating security aware stub-resolver
-
Jumbo frames support for DNS to handle responses of large sizes
-
Caching of EDNS0 client subnet data when the NetScaler appliance is in proxy mode
-
Use case - configure the automatic DNSSEC key management feature
-
Use Case - configure the automatic DNSSEC key management on GSLB deployment
-
-
-
Persistence and persistent connections
-
Advanced load balancing settings
-
Gradually stepping up the load on a new service with virtual server–level slow start
-
Protect applications on protected servers against traffic surges
-
Retrieve location details from user IP address using geolocation database
-
Use source IP address of the client when connecting to the server
-
Use client source IP address for backend communication in a v4-v6 load balancing configuration
-
Set a limit on number of requests per connection to the server
-
Configure automatic state transition based on percentage health of bound services
-
-
Use case 2: Configure rule based persistence based on a name-value pair in a TCP byte stream
-
Use case 3: Configure load balancing in direct server return mode
-
Use case 6: Configure load balancing in DSR mode for IPv6 networks by using the TOS field
-
Use case 7: Configure load balancing in DSR mode by using IP Over IP
-
Use case 10: Load balancing of intrusion detection system servers
-
Use case 11: Isolating network traffic using listen policies
-
Use case 12: Configure Citrix Virtual Desktops for load balancing
-
Use case 13: Configure Citrix Virtual Apps and Desktops for load balancing
-
Use case 14: ShareFile wizard for load balancing Citrix ShareFile
-
Use case 15: Configure layer 4 load balancing on the NetScaler appliance
-
-
-
-
-
Authentication and authorization for System Users
-
-
-
Configuring a CloudBridge Connector Tunnel between two Datacenters
-
Configuring CloudBridge Connector between Datacenter and AWS Cloud
-
Configuring a CloudBridge Connector Tunnel Between a Datacenter and Azure Cloud
-
Configuring CloudBridge Connector Tunnel between Datacenter and SoftLayer Enterprise Cloud
-
Configuring a CloudBridge Connector Tunnel Between a NetScaler Appliance and Cisco IOS Device
-
CloudBridge Connector Tunnel Diagnostics and Troubleshooting
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
Integrated Caching
Content Groups
-
How is a DEFAULT content group different from other content groups?
The behavior of the DEFAULT content group is the same as any other group. The only attribute that makes the DEFAULT content group special is that if an object is being cached and no content group has been created. The object is cached in the DEFAULT group.
-
What is the ‘cache-Control’ option of the content group level?
You can send any cache-control header the browser. There is a content group level option, -cacheControl, which enables you to specify the cache-control header that you want to be inserted in the response to the browser.
-
What is the ‘Minhit’ option in content group level?
Minhit
is an integer value specifying the minimum number of select to a cache policy before the object is cached. This value is configurable at the content group level. Following is the syntax to configure this value from the CLI.add/set cache contentGroup \<Content_Group_Name> [-minHits \<Integer>]
-
What is the use of the expireAtLastByte option?
The expireAtLastByte option enables the integrated cache to expire the object when it is downloaded. Only requests that are outstanding requests then are served from the cache. any new requests are sent to the server. This setting is useful when the object is frequently modified, as in the case of stock quotes. This expiry mechanism works along with the Flash Cache feature. To configure a expireAtLastByte option, run the following command from the CLI:
add cache contentGroup \<Group_Name> –expireAtLastByte YES
Cache policy
-
What is a caching policy?
Policies determine which transactions are cacheable and which are not. Also, policies add or override the standard HTTP caching behavior. Policies determine an action, such as CACHE or NOCACHE, depending on the specific characteristics of the request or response. If a response matches the policy rules, the object in the response is added to the content group configured in the policy. If you have not configured a content group, the object is added to the DEFAULT content group.
-
What is a policy hit?
A select occurs when a request or response matches a cache policy.
-
What is a miss?
A miss occurs when a request or response does not match any cache policy. A miss can also occur if the request or response matches a cache policy but some override of RFC behavior prevents the object from being stored in the cache.
-
I have configured Integrated Caching feature of the NetScaler appliance. When adding the following policy, an error message appears. Is there any error in the command?
add cache policy image_caching -rule exp1 | ns_ext_not_jpeg –action cache
\> ERROR: No such command
In the preceding command, the expression must be within the quotation marks. Without quotation marks, the operator is considered to be the pipe operator.
Memory Requirements
-
What are the commands that I can run on the NetScaler appliance to check the memory allocated to cache?
To display the memory allocated for cache in the NetScaler appliance, run any of the following commands from the CLI:
-
show cache parameter
In the output, check the value of the Memory usage limit parameter. This is the maximum memory allocated for cache.
-
show cache \<Content_Group_Name>
In the output, check the values of the Memory usage and Memory usage limit parameters indicating the memory used and allocated for the individual content group.
-
-
My NetScaler appliance has 2 GB of memory. Is there any recommended memory limit for cache?
For any model of the NetScaler appliance, you can allocate half of the memory to the cache. However, Citrix recommends allocating a little less than half of the memory, because of internal memory dependency. You can run the following command to allocate 1 GB of memory to the cache:
set cache parameter -memLimit 1024
-
Is it possible to allocate memory for individual content groups?
Yes. Even though you allocate memory for the integrated cache globally by running the set cache parameter –memlimit<Integer>, you can allocate memory to individual content groups by running the set cache <Content_Group_Name> –memLimit <Integer> command. The maximum memory you can allocate to content groups (combined) cannot exceed the memory you have allocated to the integrated cache.
-
What is the dependency of memory between integrated cache and TCP buffer?
If the NetScaler appliance has 2 GB memory, then the appliance reserves approximately 800 MB to 900 MB of memory and the remaining is allocated to the FreeBSD operating system. Therefore, you can allocate up to 512 MB of memory to the integrated cache and the rest is allocated to the TCP buffer.
-
Does it affect the caching process if I do not allocate global memory to the integrated cache?
If you do not allocate memory to the integrated cache, all requests are sent to the server. To make sure that you have allocated memory to the integrated cache, run the show cache parameter command. Actually no objects are cached if the global memory is 0, so it must be set first.
Verification commands
-
What are the options for displaying cache statistics?
You can use either of the following options to display the statistics for cache:
-
stat cache
To display the summary of the cache statistics.
-
stat cache –detail
To display the full details of the cache statistics.
-
-
What are the options for displaying the cached content?
To display the cached content, you can run the
show cache object
command. -
What is the command that I can run to display the characteristics of an object stored in cache?
If the object stored in the cache is, for example, GET //10.102.12.16:80/index.html, you can display the details about the object by running the following command from the CLI of the appliance:
show cache object -url '/index.html' -host 10.102.3.96 -port 80
-
Is it mandatory to specify the group name as a parameter to display the parameterized objects in cache?
Yes. It is mandatory to specify the group name as a parameter to display the parameterized objects in the cache. For example, consider that you have added the following policies with the same rule:
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-->
In this case, for the multiple requests, if policy p1 is evaluated, its select counter is incremented and the policy stores the object in the g1 group, which has select parameters. Therefore, you have to run the following command to display the objects from the cache:
show cache object -url "/cgi-bin/setCookie.pl" -host 10.102.18.152 groupName g1
Similarly, for another set of multiple requests, if policy p2 is evaluated, its select counter is incremented and the policy stores the object in the g2 group, which does not have select parameters. Therefore, you have to run the following command to display the objects from the cache:
show cache object -url "/cgi-bin/setCookie2.pl" -host 10.102.18.152
-
I notice that there are some blank entries in the output of the nscachemgr command. What are those entries?
Consider the following sample output of the
nscachemgr
command. The blank entries in this output are highlighted in bold face for your reference: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-->
The blank entries in the output are due to the default caching properties for GET / HTTP/1.1.
Flushing Objects
-
How can I flush a selective object from the cache?
You can identify an object uniquely by its complete URL. To flush such an object, you can perform any of the following tasks:
- Flush cache
- Flush content group
- Flush the specific object
To flush the specific object, you have to specify the query parameters. You specify the invalParam parameter to flush the object. This parameter applies only to a query.
-
Does any change in the cache configuration trigger flushing of cache?
Yes. When you change to the cache configuration, all the SET cache commands inherently flush the appropriate content groups.
-
I have updated the objects on the server. Do I need to flush the cached objects?
Yes. When you update objects on the server, you must flush the cached objects, or at least the relevant objects and content groups. The integrated cache is not affected by an update to the server. It continues to serve the cached objects until they expire.
Flash Cache
-
What is Flash Cache feature of the NetScaler appliance?
The phenomenon of Flash crowds occurs when many clients access the same content. The result is a sudden surge in traffic toward the server. The Flash Cache feature enables the NetScaler appliance to improve performance in such a situation by sending only one request to the server. All other requests are queued on the appliance and the single response is served to the requests. You can use either of the following commands to enable the Fast Cache feature:
add cache contentGroup \<Group_Name> -flashCache YES
set cache contentGroup \<Group_Name> -flashCache YES
-
What is the limit for Flash Cache clients?
The number of Flash Cache clients depends on the availability of resources on the NetScaler appliance.
Default Behavior
-
Does the NetScaler appliance proactively receive objects upon expiry?
The NetScaler appliance never proactively receives objects on expiry. This is true even for the negative objects. The first access after expiry triggers a request to the server.
-
Does the integrated cache add clients to the queue for serving even before it starts receiving the response?
Yes. The integrated cache adds clients to the queue for serving even before it starts receiving the response.
-
What is the default value for the Verify cached object using parameter of the cache configuration?
HOSTNAME_AND_IP is the default value.
-
Does the NetScaler appliance create log entries in the log files?
Yes. The NetScaler appliance creates log entries in the log files.
-
Are compressed objects stored in the cache?
Yes. Compressed objects are stored in the cache.
Interoperability with other features
-
What happens to objects that are currently stored in cache and are being accessed through SSL VPN?
Objects stored in the cache and accessed regularly are served as cache, select when accessed through the SSL VPN.
-
What happens to objects stored in the cache when accessed through SSL VPN and later accessed through a regular connection?
The objects stored through the SSL VPN access are served as a select when accessed through the regular connection.
-
When using web logging, how do I differentiate entries that indicate response served from cache from those served by the server?
For responses served from the integrated cache, the server log field contains the value IC. For responses served from a server, the server log field contains the value sent by the server. Following is a sample log entry for an integrated caching transaction:
"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"
Along with a client request, the response logged is the one sent to the client and not necessarily the one sent by the server.
Note
When using the web logging, the responses from the integrated cache contains the value IC in the server log field. The server log field is present in the NSWL client with “%o1” format specifier.
Miscellaneous
-
What do you mean by configuring relexpiry and absexpiry?
By configuring
relexpiry
andabsexpiry
, it means that you are overriding the header irrespective of what appears in the header. You can configure a different expiry setting and the content group level. Withrelexpiry
, the expiration of the header is based on the time at which the object is received by the NetScaler. Withabsexpiry
, expiration is based on the time configured on the NetScaler.Relexpiry
is configured in terms of seconds.Absexpiry
is a time of day. -
What do you mean by configuring weakpos and heuristic?
The
weakpos
and heuristic are like fallback values. If there is an expiry header, it is considered only if the last-modified header is present. The NetScaler appliance sets expiry based on the last-modified header and the heuristic parameter. The heuristic expiry calculation determines the time to expiry by checking the last-modified header. Some percentage of the duration since the object was last modified is used as time to expiry. The heuristic of an object that remains unmodified for longer periods of time and is likely to have longer expiry periods. The –heurExpiryParam specifies what percentage value to use in this calculation. Otherwise, the appliance uses theweakpos
value. -
What should I consider before configuring dynamic caching?
If there is some parameter that is in name-value form and does not have the full URL query, or the appliance receives the parameter in a cookie header or POST body, consider configuring dynamic caching. To configure dynamic caching, you have to configure the hitParams parameter.
-
How is hexadecimal encoding supported in the parameter names?
On the NetScaler appliance, the %HEXHEX encoding is supported in the parameter names. In the names that you specify for hitParams or invalParams, you can specify a name that contains %HEXHEX encoding in the names. For example, name, name%65, and n %61m%65 are equivalent.
-
What is the process for selecting a hitParam parameter?
Consider the following excerpt of an HTTP header for a POST request:
POST /data2html.asp?param1=value1¶m2=¶m3¶m4=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-->
In the preceding request, you can use S1 and B1, highlighted in bold face for your reference, as hitParams depending on your requirements. Also, if you use -matchCookies YES in the ASPSESSIONIDQGQGGRNY content group, then you can also use these parameters as hitParams.
-
What happens to the queued clients if the response is not cacheable?
If the response is not cacheable, all the clients in the queue receive the same response that the first client receives.
-
Can I enable the Poll every time (PET) and Flash Cache features on the same content group?
No. You cannot enable PET and Flash Cache on the same content group. The integrated cache does not perform the AutoPET function on Flash Cache content groups. The PET feature ensures that the integrated cache does not serve a stored object without consulting the server. You can configure PET explicitly for a content group.
-
When are the log entries created for the queued clients?
The log entries are created for the queued clients soon after the appliance receives the response header. The log entries are created only if the response header does not make the object non-cacheable.
-
What is the meaning of the DNS, HOSTNAME, and HOSTNAME_AND_IP values of the Verify cached object using parameter of the cache configuration?
The meanings are as follows:
-
set cache parameter -verifyUsing HOSTNAME
The command ignores the destination IP address.
-
set cache parameter -verifyUsing HOSTNAME_AND_IP
The command matches the destination IP address.
-
set cache parameter -verifyUsing DNS
The command uses the DNS server.
-
-
I have set weakNegRelExpiry to 600, which is 10 minutes. I noticed that 404 responses are not getting cached. What is the reason?
This completely depends on your configuration. By default, 404 responses are cached for 10 minutes. If you want all 404 responses to be fetched from the server, specify–weakNegRelExpiry 0. You can fine-tune the –weakNegRelExpiry to a desired value, such as higher or lower to get the 404 responses cached appropriately. If you have configured –absExpiry for positive responses, then it might not yield the desired results.
-
When the user accesses the site by using the Mozilla Firefox browser, the updated content is served. However, when the user accesses the site by using the Microsoft Internet Explorer browser, stale content is served. What could be the reason?
The Microsoft Internet Explorer browser might be taking the content from its local cache instead of the NetScaler integrated cache. The reason can be that the Microsoft Internet Explorer browser is not respecting the expiry related header in the response.
To resolve this issue, you can disable the local cache of the Internet Explorer and clear the offline content. After clearing the offline content, the browser must display the updated content.
-
What if Hits are zero?
Check to see if the server time and NS time are in sync. And the weakPosrelexpiry limit set must bear the time difference between NS and server as following:
root@ns180\# date Tue May 15 18:53:52 IST 2012 <!--NeedCopy-->
-
Why are policies getting hits but nothing is being cached?
Verify that memory is allocated to the integrated cache and that the allocation is greater than zero.
-
Is it possible to zero the cache counters?
There is no command line or GUI option for setting the cache counters to zero, and flushing the cache does not do so either. Rebooting the box automatically sets these counters to zero.
Share
Share
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.