Accelerating Internet Connectivity through the ISA Server Cache

ISA Server Cache Summary

The Web Proxy service of ISA Server enables frequently requested Web objects to be cached. Subsequent client requests are checked against the ISA Server cache to determine whether they can be served from the cache. A new request is initiated if the ISA Server cache cannot be utilized to serve the client request. ISA Server stores most frequently accessed items in RAM. The items are then retrieved from memory instead of from disk.

Objects remain in the ISA Server cache until either of the following events occurs:

ISA Server caching can be implemented using either of these methods:

When you configure ISA server as a forward Web caching server, internal clients are able to access the Internet, and ISA Server maintains a cache of frequently requested Internet objects which can be accessed by any Web browser behind the firewall. Client browser performance is improved because using the cache results in less processing than requesting objects from the Internet. Bandwidth usage on Internet connections remains low. User response time is decreased as well.

With reverse caching, objects requested from internal servers by external clients are stored on the ISA server. Incoming Web requests are forwarded to the ISA server and are served from the cache. Requests are only forwarded to the Web server when the cache cannot be used to serve the request.

You can use the ISA Server Scheduled Content Download job feature to download the content to the ISA Server cache as per a predefined schedule. You can proactively ensure that important content is always available directly from the ISA Server cache and that the information is current.

You can directly download the following to the ISA Server cache:

You can also limit which content should be downloaded. You can define scheduled content downloading for outgoing Web requests and for incoming Web requests.

The ISA Server Enterprise Edition uses Cache Array Routing Protocol (CARP) to provide scaling and improve efficiency. When you install multiple ISA Server computers, ISA servers are automatically installed in arrays. The array of ISA servers is then treated as a single logical cache. A hashing algorithm determines the location for storage, and hash-based routing is used to retrieve the location of the stored object when requests are made.

The routing algorithm used by CARP works as follows:

The ISA Server Enterprise Edition enables administrators to arrange individual ISA Server computers or arrays of ISA Servers hierarchically. This process is also referred to as chaining. Requests are then sent upstream through the chain of servers until the object which was requested is located. Chaining provides fault tolerance. Content can then be distributed to multiple locations without making requests on the Internet.

The different server roles that you can configure for ISA Server are:

The features provided by Cache mode are:

When determining ISA Server cache placement, consider the following important factors:

How ISA Server Caching Works

When ISA Server needs to determine whether to retrieve objects from the Internet or from the ISA Server cache, it uses the following information:

To access the Cache Configuration Properties dialog box;

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.

The default routing rule allows Web Proxy client requests to be directly obtained from the Internet.
The size of the ISA Server cache is determined by the settings specified during ISA Server setup. The other settings that are enabled after ISA Server installation are:

  • HTTP caching is enabled
  • FTP caching is enabled
  • Active caching is disabled.

When configuring routing rules, you can define routing for:

  • All destinations
  • All external destinations.
  • A specific destination.
  • All destinations other than a specific destination.

You can apply different routing rules to different destinations so that ISA Server caches content according to the destinations that you have specified.

When a user sends a request for an object, ISA Server first checks the ISA Server cache to determine whether or not the object exists in the cache. When a request is sent to an array of ISA servers, the Cache Array Routing Protocol (CARP) algorithm ascertains which ISA server’s cache to check for the requested object.

When the object exists in the ISA Server cache, the following process occurs:

If the object in the cache is still valid, ISA Server retrieves the object from the cache and passes it to the user.

For all objects that do not exist in the cache, ISA server uses the configuration of the routing rule to determine the way in which to route the request.

How to configure when ISA Server caches objects

ISA Server caches objects to:

You can use the settings on the Cache Configuration Properties dialog box (Advanced tab) to change the size of objects which gets stored in memory.

Responses to user requests that include the HTTP response headers listed below are not cached by ISA Server:

Responses to user requests that include the HTTP request headers listed below are not cached by ISA Server:

The settings that you can configure on the Cache Configuration Properties dialog box allow you to more precisely specify when objects should be cached.

You can configure which content to cache:

With regard to ISA Server and HTTP object caching, you can choose between different expiration policies. An object is considered expired when its Time to Live (TTL) setting has expired. ISA Server can though continue to use an expired object for a predefined time period when the source of the expired object is not available.

The different expiration policies you can define for HTTP object caching on the HTTP tab of the Cache Configuration Properties dialog box are:

With regard to ISA Server and FTP object caching, you can specify whether caching should be enabled, and set the TTL period for all FTP objects.

ISA Server includes an active caching feature. When you enable the active caching feature, ISA Server checks which objects in its cache are frequently accessed, and then, when these objects almost reach expiration, ISA Server automatically updates the objects.

The different active caching policies you can choose between are listed here:

You can also configure ISA Server to perform negative caching. When negative caching is enabled, ISA Server caches the error response received when it is unable to retrieve a requested object from the Web server.

HTTP objects that have the status codes listed here can be cached:

Scheduling ISA Server to Download Content Automatically

You can configure and schedule ISA Server to download content automatically, to ensure that the content in the cache is always available and current.

You can schedule ISA Server to download:

You can configure scheduled content download jobs for:

You can use scheduled cache content download jobs to speed up the performance of your internal Web server for Internet clients. Here, you can configure ISA server to automatically download the Web site of your internal Web server to the cache, so that content can be retrieved from ISA Server directly and not from the internal Web server itself. This basically means that your Internet clients will no longer directly access your internal Web servers.

The scheduled cache content download feature has the following advantages

The New Scheduled Content Download Job Wizard is used to enable and configure the scheduled cache content download feature.

To launch the New Scheduled Content Download Job Wizard, use the steps below:

  1. Open the ISA Management console.
  2. Navigate to the Scheduled Content Download Jobs folder by expanding the Cache Configuration node.
  3. Right-click Scheduled Content Download Jobs, and select New and then select Job from the shortcut menu.
  4. The New Scheduled Content Download Job Wizard appears.
  5. Follow the various pages and prompts of the New Scheduled Content Download Job Wizard to create a new scheduled cache content download job.

How to create a routing rule

  1. Open the ISA Management console.
  2. Navigate to the Routing folder.
  3. Right-click the folder and select New and then Rule from the shortcut menu.
  4. The New Routing Rule Wizard launches.
  5. In the Name box enter the name of the routing rule.
  6. In the Description box, enter a description for the routing rule.
  7. Click Next.
  8. When the Destination Sets page opens, specify the destination or the destination set and then click Next.
  9. On the Request Action page, you have to specify how client requests should be routed. Options include:
    • Retrieve them directly from specified destination
    • Route to specified upstream server
    • Redirected to hosted site
    • Use dial-up entry
  10. Click Next
  11. On the Cache Retrieval Configuration page, you have to define how this routing rule searches for and retrieves objects from the cache. Click Next.
  12. On the Cache Content Configuration page, specify whether and when objects should be stored in the ISA Server cache. Click Next.
  13. Click Finish.
  14. The new routing rule should be displayed in the details pane.

How to configure a routing rule that always caches content

  1. Open the ISA Management console.
  2. Navigate to the Routing folder.
  3. Right-click the folder and select New and then Rule from the shortcut menu.
  4. The New Routing Rule Wizard launches.
  5. In the Name box enter the name of the routing rule.
  6. In the Description box, enter a description for the routing rule.
  7. Click Next.
  8. When the Destination Sets page opens, specify the destination or the destination set and then click Next.
  9. On the Request Action page, you have to specify how client requests should be routed. Select the Retrieve them directly from specified destination option. Click Next.
  10. On the Cache Retrieval Configuration page, you have to specify how your new routing rule searches for and retrieves objects from the ISA Server cache. Select the A Valid Version Of The Object; If None Exists, Retrieve The Request Using The Specified Requested Action option and then click Next.
  11. On the Cache Content Configuration page, specify whether and when objects should be stored in the cache. Select the All Content, Including Dynamic Content, Will Be Cached option and then click Next.
  12. Click Finish.
  13. The new routing rule should be displayed in the details pane.

How to configure cache property settings for a routing rule

  1. Open the ISA Management console.
  2. Navigate to the Routing folder and expand the Routing folder.
  3. Right-click the routing rule that you want to configure and then select Properties from the shortcut menu.
  4. The Routing Rule Properties dialog box opens.
  5. Click the Cache tab.
  6. In the Search Cache For area of the Cache tab, select one of the following settings:
    • If you want the object retrieved from the cache only when the version of the object is valid (not expired), select the A Valid Version Of The Object; If None Exists, Retrieve The Request Using The Route Defined On The Action Tab option. If the object is invalid, ISA Server will request the object from an upstream server.
    • If you want ISA Server to always retrieve the object from the cache, irrespective of whether the object has expired or not, select the Any Version Of The Object; If None Exists, Retrieve The Request Using The Route Defined On The Action Tab. If the requested object does not exist in the ISA Server cache, then ISA Server will request the object from the upstream server.
    • If you only want the object retrieved from the cache – never routed, select the Any Version Of The Requested Object In The Cache, Never Route The Request option. ISA Server will not route the request.
  1. In the Cache Content area of the Cache tab, select one of the following settings:
    • If ISA Server should always cache all content, as well as dynamic content, select the All Content, Including Dynamic Content, Will Be Cached option.
    • If ISA Server should cache content only when the source and request headers specify caching, choose the If Source And Request Headers Indicate To Cache, Then The Content Will Be Cached option.
    • If no content should be cached, choose the No Content Will Ever Be Cached option.
  1. Click OK.

How to configure an ISA Server chain

  1. Open the ISA Management console.
  2. Navigate to the Routing folder.
  3. Select the Routing folder.
  4. Right-click the default routing rule and select Properties from the shortcut menu.
  5. The Default Rule Properties dialog box opens.
  6. Click the Action tab.
  7. Select the Routing Them to a Specified Upstream Server option.
  8. Click the Settings button associated with the Primary Route.
  9. The Upstream Server Setting dialog box opens.
  10. Select the ISA server and change the URL if applicable.
  11. Enable the Use This Account checkbox and then select the account to utilize for authentication.
  12. Select either Basic authentication or Integrated Windows authentication.
  13. Click OK.
  14. Use the same process to configure the Backup route.

How to specify how routing rules retrieve and serve requests

  1. Open the ISA Management console.
  2. Navigate to the Routing folder and expand the Routing folder.
  3. Right-click the routing rule that you want to configure and then select Properties from the shortcut menu.
  4. The Routing Rule Properties dialog box opens.
  5. Click the Action tab. This is where you configure the routing rule action, or how requests are retrieved:
    • If you want the object retrieved from the Internet, select the Retrieving Them Directly From The Specified Destination option.
    • If you want an upstream server to action the request, select the Routing Them to A Specified Upstream Server option.
    • If you want the request to be routed to a different computer choose the Redirecting Them to A Hosted Site option:
  1. If you want to use a dial-up connection as a primary route for the request, select the Use Dial-up Entry For Primary Route checkbox.
  2. If you want to use a dial-up connection as a backup route for the request, select the Use Dial-up Entry For Backup Route checkbox.
  3. Click OK.

How to configure the destination for a routing rule

  1. Open the ISA Management console.
  2. Navigate to the Routing folder and expand the Routing folder.
  3. Right-click the routing rule that you want to configure and select Properties from the shortcut menu.
  4. The Routing Rule Properties dialog box opens.
  5. Click the Destinations tab.
  6. Select one of the following options:
    • All Destinations
    • All External Destinations
    • All Internal Destinations
    • Selected Destination Set
    • All Destinations Except Selected Set
  1. If you selected the Selected Destination Set option, or the All Destinations Except Selected Set option, choose the destination set in the Name drop-down list box.
  2. Click OK.

How to change which drives are used to store the ISA Server cache

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Expand the Cache Configuration node.
  4. Select Drives.
  5. Right-click the server that you want to set the size of the cache for and then select Properties from the shortcut menu.
  6. Select the NTFS drives which are used to store the ISA Server cache and then specify how much disk space is used on each drive.
  7. Click OK.

How to set the size of the cache

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Expand the Cache Configuration node.
  4. Select Drives.
  5. Right-click the server that you want to set the size of the cache for and then select Properties from the shortcut menu.
  6. Select the NTFS drive.
  7. Enter the size of the cache in the Maximum Cache Size (MB) textbox.
  8. Click OK.

How to set the percentage of free memory to use for caching

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. Click the Advanced tab.
  5. Enter the percentage of free memory to use for caching in the Percentage Of Free Memory To Use For Caching textbox.
  6. Click OK.

How to configure which content ISA Server should cache

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the Advanced tab.
  6. If you want to place a limit on the size of objects that are cached, enable the Do Not Cache Objects Larger Than checkbox. Specify the unit – KB, MB, GB.
  7. If you want ISA Server to cache objects that have no last modification date specified, then enable the Cache Objects That Have An Unspecified Last Modification Time checkbox.
  8. If you want ISA Server to cache dynamic content, then choose the Cache Dynamic Content (Objects With Question Marks In The URL) checkbox.
  9. Click OK.

How to configure HTTP object caching settings

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the HTTP tab.
  6. If you want objects stored in the ISA Server cache to be more current, select the Frequently (Expire Immediately) option.
  7. If you want objects in the ISA Server cache to be current but with consideration to network performance, select the Normally option.
  8. If network performance is more important than having up to date object information stored in the ISA Server cache, then select the Less Frequently (Reduced Network Traffic Is More Important) option.
  9. If you want to manually define the TTL settings, choose the Set Time To Live (TTL) Of Object In Cache To option. You now have to configure the settings that define how ISA Server performs HTTP object caching.
  10. If you want HTTP objects in the ISA Server cache to expire when a percentage of the content’s age has expired, then select use This Percentage Of Content Age (Time Since Creation Or Modification) textbox to set this percentage.
  11. If you want to set the minimum time period and maximum time period that HTTP objects remain in the cache, in the No Less Than textbox, enter the number and set the time unit. In the No More Than textbox, enter the number.
  12. Next, set the time unit:
    • Seconds
    • Minutes
    • Hours
    • Days
    • Weeks
  1. Click OK.

How to configure FTP object caching settings

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the FTP tab.
  6. To enable FTP object caching, select the Enable FTP Caching checkbox.
  7. Use the Time To Live For All Objects textbox to configure the Time To Live setting for all FTP objects.
  8. Select the time unit:
    • Seconds
    • Minutes
    • Hours
    • Days
    • Weeks
  1. Click OK.

How to configure ISA Server to retrieve expired objects from the ISA Server cache

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the Advanced tab.
  6. If you do not want ISA Server to return an expired object from its cache when the Web server cannot be accessed to obtain a current version of the object, select the Do Not Return The Expired Object (Return An Error Page) option.
  7. If you want ISA Server to return the expired object from its cache, select the Return The Expired Object Only If Expiration Was option. You next have to define TTL settings which will determine whether the expired object is returned or not.
  8. Set the maximum percentage of the TTL in the At Less Than This Percentage Of Original Time To Live textbox. The object will not be returned from the cache if the expiration time is greater than this setting.
  9. Set the maximum amount of time which has elapsed since the object has expired in the But No More Than (Minutes) textbox. The object will not be returned from the cache if the expiration time is greater than this setting.
  10. Click OK.

How to configure active caching settings

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the Active Caching tab.
  6. Click the Enable Active Caching checkbox.
  7. Select the Frequently option if you want frequently accessed objects in the ISA Server cache refreshed prior to the objects expiring.
  8. Select the Normally option if you want frequently accessed objects stored in the ISA Server cache to be updated with consideration to network performance.
  9. Select the Less Frequently option if you want frequently accessed objects in the ISA Server cache to be updated somewhat, but network performance is more important.
  10. Click OK.

How to configure negative caching settings

  1. Open the ISA Management console.
  2. Navigate to the Cache Configuration node in the console tree.
  3. Right-click the Cache Configuration node and then select Properties from the shortcut menu.
  4. The Cache Configuration Properties dialog box opens.
  5. Click the Advanced tab.
  6. Proceed to enable the Cache Objects Even If They Do Not Have An HTTP Status Code Of 200 checkbox.
  7. Click OK.

How to configure ISA Server to download content automatically

  1. Open the ISA Management console.
  2. Navigate to the Scheduled Content Download Jobs node by expanding the Cache Configuration node.
  3. Right-click Scheduled Content Download Jobs, and select New and then select Job from the shortcut menu.
  4. The New Scheduled Content Download Job Wizard appears.
  5. Enter a name for the new scheduled content download job in the Job Name textbox and then click Next.
  6. Provide the date and time when the new scheduled download job should commence on the Start Time page. Click Next.
  7. On the Frequency page, set how often content should be downloaded. Options include:
    • Once
    • Daily
    • Weekly on: Set the day of the week.
  8. Click Next
  9. On the Content page, type the URL that should be downloaded in the Download Content From This URL textbox.
  10. Select the Content Only From URL Domain checkbox if you want to download only linked pages within the same site.
  11. Select the Cache Dynamic Content checkbox if you want ISA Server to cache dynamic content. Click Next.
  12. The Links And Downloaded Objects page opens. This is where you define how ISA Server handles the TTL of the objects which are downloaded.
  13. If you want all downloaded objects to have the same TTL, then select the Always Override Object's TTL checkbox and enter the TTL setting in the available box.
  14. If you want all downloaded objects to have the TTL which you set, but only when the objects do not have a defined TTL, then select the Override TTL If Not Defined checkbox.
  15. Enable the Cache Up To Maximum Links Depth Of checkbox and then set how many links ISA Server should follow in the available box.
  16. Alternatively, select the No Limit On Maximum Depth checkbox.
  17. You can also specify the maximum number of objects that ISA Server caches when the scheduled download job runs in the Maximum Number Of Cached Objects box.
  18. Click Next.
  19. The Completing The Scheduled Content Download Job Wizard page is displayed.
  20. Click Finish.
  21. Your new scheduled content download job should appear in the details pane when you select the Scheduled Content Download Jobs folder.

How to define the location from where to download cache content

  1. Open the ISA Management console.
  2. Expand the Cache Configuration node.
  3. Select the Scheduled Content Download Jobs folder.
  4. All existing scheduled content download jobs are displayed in the details pane.
  5. Right-click the scheduled content download job that you want to configure and select Properties from the shortcut menu.
  6. Click the Parameters tab.
  7. Enter the URL from where to download cache content in the Begin Downloading From URL textbox.
  8. Select the Keep Download Process Inside URL Domain Only checkbox if you want to download only linked pages within the same site.
  9. Enable the Cache Up To Maximum Links Depth Of checkbox and then set how many links ISA Server should follow in the available box.
  10. Specify the maximum number of objects that ISA Server caches when the scheduled download job runs in the Maximum Number Of Cached Objects box.
  11. Click OK.

How to configure the TTL settings for downloaded cache content

  1. Open the ISA Management console.
  2. Expand the Cache Configuration node.
  3. Select the Scheduled Content Download Jobs folder.
  4. All existing scheduled content download jobs are displayed in the details pane.
  5. Right-click the scheduled content download job that you want to configure and select Properties from the shortcut menu.
  6. Click the Parameters tab.
  7. If you want all downloaded objects to have the same TTL, then select the Always Override Object's TTL checkbox and enter the TTL setting in the available box.
  8. If you want all downloaded objects to have the TTL which you set, but only when the objects do not have a defined TTL, then select the Override TTL If Not Defined checkbox.
  9. Click OK.

How to define a schedule for a scheduled content download job

  1. Open the ISA Management console.
  2. Expand the Cache Configuration node.
  3. Select the Scheduled Content Download Jobs folder.
  4. Right-click the scheduled content download job that you want to configure and select Properties from the shortcut menu.
  5. Click the Frequency tab.
  6. In the Date Calendar box and Time box, set the date and time for the schedule.
  7. If you want content downloaded only once, select the Once option.
  8. If you want content downloaded each day by ISA Server at the defined time, then select the Daily option.
  9. If you want content downloaded on a specific day of the week at the set time, select the Weekly option. Set the day on which content should be downloaded.
  10. Click OK.

How to cache dynamic content during scheduled content download jobs

  1. Open the ISA Management console.
  2. Expand the Cache Configuration node.
  3. Select the Scheduled Content Download Jobs folder.
  4. Existing scheduled content download jobs are displayed in the details pane.
  5. Right-click the scheduled content download job that you want to configure and select Properties from the shortcut menu.
  6. Click the Parameters tab.
  7. Enable the Cache Dynamic Content checkbox.
  8. Click OK.


Top 5 Free Networking Tools

Bookmark Accelerating Internet Connectivity through the ISA Server Cache

Latest Blog Posts


English English GermanGerman SpanishSpanish FrenchFrench ItalianItalian PortuguesePortuguese RussianRussian DutchDutch
GreekGreek HindiHindi JapaneseJapanese KoreanKorean ChineseChinese Chinese (Simplified)Chinese (Simplified) ArabicArabic

Copyright 2009 Tech-FAQ. All rights reserved. Privacy Policy.