Document ID: 12586
Contents
Introduction
Prerequisites
Requirements
Components Used
Conventions
Caching Overview
Content Caching
Configure
Network Diagram
Configurations
Verify
Troubleshoot
Troubleshooting Procedure
NetPro Discussion Forums - Featured Conversations
Related Information
Introduction
An increase in demand for information on the Internet causes congestion and long delays in the retrieval of information. Much of the same information is retrieved over and over again. The save and local storage of information, or caching, can satisfy subsequent requests with more efficiency and less bandwidth. This document provides a sample configuration of the Cisco CSS Content Services Switch and Cisco Cache Engine for reverse-proxy caching.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
The information in this document is based on these software and hardware versions:
-
Cisco WebNS Software Version 6.10, Build 7
-
Cisco Cache Software Releases 2.3, 2.31, and 2.5, and Cisco Application and Content Networking System (ACNS) Software Version 5.1
-
Microsoft Internet Information Server (IIS) on Microsoft Windows 2000
-
Cisco CSS 11050 Content Services Switch
-
Cisco 550 and 570 Cache Engines
Note: The solution that this document describes works only with particular web servers and in particular configurations.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Conventions
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Caching Overview
The save and local storage of information is known as caching. With web caching, a cache server temporarily stores copies of recently requested content in locations that are topologically closer to the client. The content is then readily available for client requests.
The local storage of content provides these advantages:
-
Optimize network resources
-
Conserve network bandwidth
-
Reduce Internet congestion
-
Improve network response time and overall service quality
Content Caching
You can make web caching cost-effective and more reliable if you deploy content caching in your network. Content caching employs all the features and functions of the CSS. The CSS creates content rules to use your cache servers and acts as a cache front-end device because it performs these tasks:
-
Examines network traffic for web content requests
-
Bypasses the cache automatically for noncacheable content
-
Distributes content requests to maximize cache hits on services
-
Bypasses the cache or redistributes content requests among the cache services that remain if a cache service fails
When a client requests content, the CSS intercepts the request for content. The CSS applies content intelligence through the parse of the HTTP request header and distribution of content requests to the cache servers.
Then, the CSS performs one of these tasks:
-
Directs the request to the appropriate cache
The CSS bases this decision on the load-balancing method that you specify in the content rule, for example, the destination IP address.
-
Bypasses the cache servers and forwards the request to the origin server
The CSS bypasses the cache servers if the content is deemed noncacheable.
When the CSS directs the request to the cache server, the cache server either:
-
Returns the requested content, if the cache server has a local copy
-
Sends a new request for the content through the CSS to the origin server that hosts the content
When the cache sends a new request for content and receives a reply from the origin server, the cache returns the response to the client. If the content is cacheable, the cache saves a copy of the content for future requests.
When the requested content is found on a local cache server, the request is known as a cache hit. When the requested content is not local and the cache initiates a new request for the content, the request is known as a cache miss.
Configure
In this section, you are presented with the information to configure the features described in this document.
Note: To find additional information on the commands used in this document, use the Command Lookup Tool ( registered customers only) .
Network Diagram
This document uses this network setup:
Configurations
This document uses these configurations:
|
CSS 11050 That Runs WebNS 6.10, Build 7 |
|---|
!Active version: ap0610007s configure !*************************** GLOBAL *************************** username admin des-password lecfjgyezbeaxb2g superuser username chip des-password lecfjgyezbeaxb2g superuser ip route 0.0.0.0 0.0.0.0 172.16.0.193 1 persistence reset remap !--- This is necessary for persistent connections that need to be !--- remapped on the back-end connection. !************************* INTERFACE ************************* interface ethernet-6 phy 100Mbits-FD interface ethernet-7 bridge vlan 2 interface ethernet-8 bridge vlan 2 !************************** CIRCUIT ************************** circuit VLAN1 ip address 172.16.0.1 255.255.0.0 circuit VLAN2 ip address 10.1.1.1 255.255.255.0 !************************** SERVICE ************************** service ce1 ip address 172.16.0.200 type transparent-cache no cache-bypass active service ce2 ip address 172.16.0.218 type transparent-cache !--- Disable the destination Network Address Translation (NAT). !--- Only the destination MAC address changes. no cache-bypass !--- Permit traffic from the cache to hit a content rule. active service webns1 ip address 10.1.1.3 active service webns2 ip address 10.1.1.5 active !**************************** EQL **************************** eql Cacheable extension pdf "Acrobat" extension fdf "Acrobat Forms Document" extension au "Sound audio/basic" extension bmp "Bitmap Image" extension z "Compressed data application/x-compress" extension gif "GIF Image image/gif" extension html "Hypertext Markup Language text/html" extension htm extension js "Java script application/x-javascript" extension mocha extension jpeg "JPEG image image/jpeg" extension jpg extension jpe extension jfif extension pjpeg extension pjp extension mp2 "MPEG Audio audio/x-mpeg" extension mpa extension abs extension mpeg "MPEG Video video/mpeg" extension mpg extension mpe extension mpv extension vbs extension m1v extension pcx "PCX Image" extension txt "Plain text text/plain" extension text extension mov "QuickTime video/quicktime" extension tiff "TIFF Image image/tiff" extension tar "Unix Tape Archive application/x-tar" extension avi "Video for Windows video/x-msvideo" extension wav "Wave File audio/x-wav" extension gz "application/x-gzip" extension zip "ZIP file application/x-zip-compressed" description "This EQL contains extensions of cacheable content" !*************************** OWNER *************************** owner chip content cache_request_rule add service webns1 add service webns2 vip address 172.16.0.198 protocol tcp port 80 url "/*" active !--- This content rule catches requests from the cache !--- and load balances the requests to the web servers. content reverse_proxy_rule add service ce1 add service ce2 vip address 172.16.0.237 protocol tcp port 80 url "/*" eql Cacheable !--- Only objects that match an extension that is in !--- the Extension Qualifier List (EQL) Cacheable use this rule. active content web_server_rule add service webns1 add service webns2 protocol tcp port 80 url "/*" vip address 172.16.0.237 active !--- When the request does not match any extension that appears !--- in the EQL Cacheable, the request goes directly to the servers. |
|
Cache Engine 1—550 That Runs Cache Software Release 2.31 |
|---|
Current configuration: ! ! ! user add admin uid 0 password 1 "eeSdy9dcy" capability admin-access ! ! ! hostname ce1 ! interface ethernet 0 ip address 172.16.0.200 255.255.0.0 ip broadcast-address 172.16.255.255 exit ! interface ethernet 1 exit ! ip default-gateway 172.16.0.1 ip name-server 171.70.32.127 ip domain-name chip.com ip route 0.0.0.0 0.0.0.0 172.16.0.1 cron file /local/etc/crontab ! no bypass load enable http proxy incoming 80 !--- This http proxy incoming 80 command is !--- necessary in software releases 2.31 and 2.50. http l4-switch enable !--- Enable l4-switch so that the cache accepts connections on any !--- IP address, even if the address is not configured on the cache. ! authentication login local enable authentication configuration local enable rule use-proxy 172.16.0.198 80 domain www.chip.com !--- This command sends all requests for the domain !--- www.chip.com to the web server virtual IP (VIP) on the CSS. !--- Another solution is to issue the !--- http proxy outgoing host 172.16.0.198 80 command. ! rule no-cache url-regex .*cgi-bin.* rule no-cache url-regex .*aw-cgi.* ! ! end |
|
Cache Engine 2—570 That Runs Cache Software Release 2.3 |
|---|
Current configuration: ! ! no logging console ! user add admin uid 0 capability admin-access ! ! ! hostname ce-2 ! interface ethernet 0 ip address 172.16.0.218 255.255.0.0 ip broadcast-address 172.16.255.255 exit ! ! interface ethernet 1 exit ! ip default-gateway 172.16.0.1 ip name-server 171.70.32.127 ip domain-name chip.com ip route 0.0.0.0 0.0.0.0 172.16.0.1 cron file /local/etc/crontab ! no bypass load enable http l4-switch enable ! authentication login local enable authentication configuration local enable rule use-proxy 172.16.0.198 80 domain www.chip.com !--- This command sends all requests for the domain !--- www.chip.com to the web server VIP on the CSS. rule no-cache url-regex .*cgi-bin.* rule no-cache url-regex .*aw-cgi.* ! ! end |
Verify
This section provides information you can use to confirm your configuration is working properly.
Note: Certain show commands are supported by the Output Interpreter Tool ( registered customers only) , which allows you to view an analysis of show command output.
CSS show Commands
-
show summary—Displays the relationship between owners, content rules, and services
-
show service summary—Displays summary information for all services
This information includes the service state, connections, weight, and load.
-
show rule—Displays all content rules for a specific owner or for all owners
The screen shows information about the owner and the content rules. If you are in owner mode, the show rule command displays the summary for the current owner.
Cache Engine show Commands
-
show statistics http savings—Displays HTTP savings statistics
-
show statistics http requests—Displays HTTP requests statistics
-
show statistics rule all—Displays all rule statistics
-
show statistics http miss-reason—Displays details of the reasons that the cache did not have a copy of the requested content
Troubleshoot
This section provides information you can use to troubleshoot your configuration.
Troubleshooting Procedure
Complete these steps to troubleshoot your configuration:
-
In order to detect if traffic hits the correct content rule on the CSS, issue the show summary command.
Global Bypass Counters: No Rule Bypass Count: 0 Acl Bypass Count: 0 Owner Content Rules State Services Service Hits chip web_server_rule Active webns1 5 webns2 6 reverse_proxy_rule Active ce1 7 ce2 4 cache_request_rule Active webns1 10 webns2 9-
If there is no hit, check for connectivity issues.
-
If there is no hit for the reverse_proxy_rule, check the EQL setup.
-
If there is no hit for the cache_request_rule, check the configuration of the caches.
-
-
In order to check for HTTP requests, issue the show statistics http requests command on the cache.
show statistics http requests Statistics - Requests Total % of Requests --------------------------------------------------- Total Received Requests: 6 - Forced Reloads: 0 0.0 Client Errors: 0 0.0 Server Errors: 0 0.0 URL Blocked (Reset): 0 0.0 URL Blocked: 0 0.0 Sent to Outgoing Proxy: 4 66.7 Failures from Outgoing Proxy: 0 0.0 Excluded from Outgoing Proxy: 0 0.0 ICP Client Hits: 0 0.0 ICP Server Hits: 0 0.0 If-Range Hits: 0 0.0 HTTP 0.9 Requests: 0 0.0 HTTP 1.0 Requests: 0 0.0 HTTP 1.1 Requests: 6 100.0 HTTP Unknown Requests: 0 0.0 Non HTTP Requests: 0 0.0 Non HTTP Responses: 0 0.0 Chunked HTTP Responses: 0 0.0 Http Miss Due To DNS: 0 0.0 Http Deletes Due To DNS: 0 0.0 Objects cached for min ttl: 0 0.0-
If you do not see any requests, issue the http l4-switch enable command.
-
-
In order to determine if the cache is caching the request correctly, issue the show statistics http savings command.
show statistics http savings Statistics - Savings Requests Bytes ----------------------------------------------------------- Total: 6 11293008 Hits: 2 3795880 Miss: 4 7497128 Savings: 33.3 % 33.6 %-
If the number of misses is high, issue the show statistics http miss-reason command to determine the reason.
show statistics http miss-reason Statistics - No hit reasons Reason: No. of Requests --------------------------------------------------- not_in_cache: 1 dmbuf_low: 0 none_get_method: 0 ftp_not_anonymous: 0 http_not_anonymous: 0 suspicious_url: 0 ie_5_ims: 0 has_if_match: 0 has_invalid_if_range: 0 has_if_unmodified_since: 0 has_invalid_range: 0 has_more_than_supported_range: 0 has_pragma_no_cache: 0 has_authorization: 0 has_cache_control_no_cache: 0 is_https: 0 invalid_ims: 0 cert_check_fail: 0 second_validation: 0 invalid_ims_reply: 0 ims_200_reply: 0 xfs_open_error: 0 has_unknown_length_transfer_pending: 0 object_in_cache_older_than_clients: 0 object_in_cache_expired_cannot_verified: 0 different_protocol: 0 other_error: 0 Statistics - Validate reasons Reason: No. of Requests --------------------------------------------------- reval_all: 0 reval_text: 0 max_age: 0 min_fresh: 0 max_stale: 0 response_say_so: 0 object_expired: 0 reval_no_cache_req: 0 rule_refresh: 0 Statistics - No store reasons Reason: No. of Requests --------------------------------------------------- dmbuf_low: 0 none_get_method: 0 ftp_not_anonymous: 0 http_not_anonymous: 0 suspicious_url: 0 has_range: 1 has_authorization: 0 has_cache_control_no_store: 0 invalid_ims: 0 cert_check_fail: 0 second_validation: 0 invalid_ims_reply: 0 url_too_long: 0 http_0_9_reply: 0 header_too_long: 0 http_unknown_verion_reply: 0 http_none_cachable_reply_status: 1 http_unknow_reply_status: 0 has_cookie: 3 object_too_big: 0 has_pragma_no_cache: 0 cache_control_no_cache: 0 cache_control_no_store: 0 cache_control_private: 0 has_multipart: 0 invalid_expire: 0 invalid_last_modified: 0 invalid_date: 0 content_length_0: 0 has_vary: 0 transfer_encoding: 0 three_to_two_way: 0 xfs_open_error: 0 has_unknown_length_transfer_pending: 0 other_error: 0 weird_server_pipe_though: 0 incorrect_content_length: 0 rule_no_store: 0When you know the reason for a miss or a No store, you can try to correct the problem. For example, in this case, there are a number of hits against has_cookie. In order to resolve this, issue the http cache-cookies command on the cache.
-
NetPro Discussion Forums - Featured Conversations
| NetPro Discussion Forums - Featured Conversations for CDN |
| Emerging Technologies: Content Networking |
Related Information
| Updated: Jan 31, 2006 | Document ID: 12586 |
