Site performance settings

Created at:
Avatar
Updated

Overview

It's a well-known fact that a web site's speed and responsiveness have a significant impact on its user experience. Poor site performance can cause both new and veteran users to become frustrated, and the competition is always just a click away.

Incapsula supports several performance-boosting features which are fully configurable, so that you can fine-tune your site's performance according to your specific needs.

Incapsula's performance-related features include the following:

  • A caching mode that determines an overall caching policy
  • Advanced caching rules for specific resources
  • File compression and minification
  • TCP connection management
  • Advanced settings

 

NOTE:
Some Performance features are only available within paid plans. We recommend that free users upgrade their plan in order to enjoy the full benefits of performance enhancement.

Features that are limited to paid plans are marked with (Paid Plans Only).

 

Performance Settings

 

 

To access Performance settings, log in to your account on the Incapsula site, click the settings tab, and then click the Performance option in the left-hand menu. After any change to settings, click the Save.jpg button on the top-right.

 

Content Caching

Incapsula maintains a global Content Delivery Network (CDN). This is a large set of globally distributed data centers (also known as Points of Presence or PoPs) providing high availability and optimizing performance and user experience. The following configuration options allow you to determine how your site's content is cached and refreshed.

Caching Mode

Modes.jpg 

The following caching modes are supported:

Caching Mode Description
Disable Caching No caching is performed and all requested content is retrieved from your origin web server.
Static Only

Only content that was marked by the site's developer / web server as static using standard HTTP headers is cached.

Static + Dynamic

In addition to content that was marked by the site's developer / web server as static using standard HTTP headers, Incapsula also profiles other resource to identify and cache static content that was not marked as so. The time period (in minutes, hours, days or weeks) that you set for this option determines how often the cache is refreshed.

Note: This option does not cache personalized or dynamic content.

Aggressive All site content is cached. The time period (in minutes, hours, days or weeks) that you set for this option determines how often the cache is refreshed (TTL).

 

NOTE:

You may be familiar with an older version of this feature called Acceleration Mode, which was previously found under General Settings. The possible modes were:

  • Off – now implemented as the Disable Caching mode.
  • Standard - now implemented as the Static Only mode.
  • Advanced - now implemented as the Static + Dynamic mode.

 

  

Purging the Cache

Purging the Entire Cache

After a major change to your website, such as a version update, you may want to clear all resources in the cache immediately, without waiting for the caching period to expire.

You can purge the entire cache, or purge a subset of the site's cached resources.

To purge the entire cache:

In the Caching Mode section, click Purge Cache. All cached resources for the site will be purged.

To purge specific resources from the cache:
  1. In the Caching Mode section, click Purge Specific Resource. The following displays:

  2. Select one of the URL rule options (URL is, URL contains, URL starts with or URL ends with).
  3. In the field on the right, do one of the following:
    • For the URL is rule, enter a complete URL, such as /intro/settings/logo.png
    • For one of the other rules, enter a specific URL string that will be matched as a prefix, midfix or suffix of the URL, depending on the rule.
  4. Click the Purge button.

 

Advanced Caching Rules (Paid Plans Only)

Advanced caching rules let you define specific exceptions to the caching rules that are set by the overall Caching Mode rules (described above). You can define specific URLs or a group of URLs which should always be cached or should never be cached.

 

A caching rule contains a URL string-matching directive (the leftmost field shown above) and a string to match (the second leftmost field shown above).

 

The following table summarizes the types of advanced caching rules:

String-Matching Rule String Example Matches Doesn't Match
URL is /images /images /images/background /home
URL is not /images /images/background /home /images
URL starts with /images /images/background /home /home
URL ends with jpeg /image.jpeg /home/logo.jpeg /image.png /home
URL contains /background/ /images/background/image.jpeg /css/background/main.css /images/background
URL does not contain /background/ /images/background /images/background/image.jpeg /css/background/main.css

                                                                                

Note: If there is a conflict between the caching durations defined in the Caching Mode and in the Advanced Caching Rules, the longer period of the two is applied. The same goes for a conflict between the caching rule of a certain resource and one of its sub-resources.

 

Content Optimization

The next group of settings controls options for timing of the cache refresh, content compression and TCP connection management.

 Content_Optimization.jpg

Asynchronous Validation

Asynch.jpg 

Once a certain resource caching period expires, the cache will be refreshed upon the subsequent request for this resource. There are two ways in which a resource cache can be refreshed:

  • If the Async Validation option is checked, the first request after the cache period expires will cause the resource to be retrieved from the cache with no delay and the cache will be refreshed asynchronously.
  • If the Async Validation option is not checked, the first request after the cache period expires will trigger a refresh of the cache and the request will be delayed until the resource cache has been refreshed.

Content Minification

Minification.jpg 

Content minification can only be applied to cached Javascript, CSS and HTML content and therefore this option is disabled when caching is disabled. Minification removes characters that are not necessary for rendering the page, such as whitespace and comments. This makes the files smaller and therefore reduces their access time. Check each of the file types you wish to minify.

Image Compression (Paid Plans Only)

Image_compression.jpg 

Image compression can only be applied to cached images and therefore this option is disabled when caching is disabled. Image compression can be applied to JPEG and PNG images. Compression makes the files smaller and therefore reduces their access time. Check each of the image types you wish to compress.

When compression is enabled, image meta-data is omitted with no impact on quality, and the image data is compressed, which in certain cases may affect quality.

In the case of JPEG compression, there are two possible modes you can choose:

  • Progressive Image Rendering – the image is rendered with progressively finer resolution, potentially causing a "pixelated" effect until the final image is rendered with no loss of quality. This option reduces page lead times and allows images to load after the page is rendered.
  • Aggressive Compression – a more aggressive method of compression is applied with the goal of minimizing the image file size, possibly impacting the final quality of the image displayed.

 

"On-the-Fly" Compression

On_the_fly.jpg

When this option is enabled, text files are compressed with the gzip utility before being transferred, and then unzipped within the browser (all modern browsers support this feature). This applies to all text files (Javascript, CSS and HTML), even those which are not cached.

 

TCP Pre-Pooling (Paid Plans Only)

Pre_pooling.jpg

By default, a web session may open and close many TCP connections dynamically throughout the session, causing a certain overhead and reducing performance. When the TCP Pre-Pooling option is enabled, it attempts to maintain several TCP connections constantly open throughout the session, thereby improving performance. Not all web sites support this behavior, so it will be applied only when possible.

 

Advanced Settings

Handling Cache-Related Headers

Cache Headers allows us to ensure certain HTTP headers that are required by the customer's systems is not dropped when traffic is going through Incapsula.Capture1.PNG

The following options allow you to control HTTP features that may interfere with Incapsula's caching behavior, thereby reducing performance. These are triggered by HTTP request and response headers that instruct the web server or client not to cache certain content. These headers are often used incorrectly and unnecessarily, and therefore Incapsula allows you to override them.

Because the use of these headers is often due to misconfiguration of web applications, the default behavior is to ignore them, but you can change this behavior using the setting below.

 

Comply with "no-cache" and "max-age"

No-Cache.PNG

When the Comply with no-cache and max-age option is checked, these cache directives are considered; otherwise they are dynamically profiled by Incapsula and re-configured to optimize performance (which is the default behavior).

no-cache is a directive in the HTTP Cache-Control request header that instructs web proxies not to return cached content without first checking with the server to see if the content has changed.

max-age is a directive in the HTTP Cache-Control request header that instructs web proxies not to return content that is over a certain expiration age.

 

Comply with "Vary"

Vary is an HTTP response header that indicates how to match future request headers to decide if a cached response can be used.

By default, the Vary header is ignored. When the Comply with Vary option is selected, the Vary header is taken into account.

Note: Accept-Encoding is ignored. All other Vary headers are accepted.

 

 Use shortest caching duration in case of conflicts

Usually when there is a duration conflict between caching rules or modes the longest duration is used. When this box is checked Incapsula will use the shortest duration in case of conflict. 

 

Prefer 'last modified' over eTag

When this box is checked Incapsula will prefer using ‘Last Modified’ values (if available) over eTag values (recommended on multi-server setups). 

 
Disable client-side caching
 

When this box is checked content will only be cached on the Incapsula proxies and not on client browsers.

 

Also cache 3xx responses 

When this option is checked Incapsula will cache 301, 302, 303, 307, and 308 response headers containing the target URI. 3xx caching can only be triggered through HTTP response headers or caching rules.

 

Caching HTTPS traffic

When Incapsula caching mode is set to Static + Dynamic, the default caching behavior for HTTPS is as follows:

  • Only the following resources may be cached heuristically: images, css files, JavaScript files, and resources defined with the Cache-Control: public header.
  • Resources that include explicit caching directives against caching, as defined in the resources themselves using the Cache-Controlor Expires HTTP headers, are not cached.
  • HTML files are not cached.
  • Asynchronous validation is not used.

Caution: If you override this default behavior by setting an explicit Advanced Caching Rule for the site to cache HTML files, you can introduce the risk of returning HTML resources that contain personal information, such as PII, ePHI, and PAN data.

 

For more information: Content Caching

Was this article helpful?
17 out of 22 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk