Applies To:

Show Versions Show Versions

Manual Chapter: Accelerating HTTP Traffic Using HTTP Compression and Web Acceleration
Manual Chapter
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

Overview: Accelerating HTTP traffic with an asymmetric WebAccelerator system

Operating asymmetrically, the BIG-IP® WebAccelerator™ system caches objects from origin web servers and delivers them directly to clients. The WebAccelerator system handles both static content and dynamic content, by processing HTTP responses, including objects referenced in the response, and then sending the included objects as a single object to the browser. This form of caching reduces server TCP and application processing, improves web page loading time, and reduces the need to regularly expand the number of web servers required to service an application.

About HTTP compression profile

HTTP compression reduces the amount of data to be transmitted, thereby significantly reducing bandwidth usage. All of the tasks needed to configure HTTP compression on the BIG-IP® system, as well as the compression software itself, are centralized on the BIG-IP system. The tasks needed to configure HTTP compression for objects in a WebAccelerator policy node are available in the WebAccelerator system, but an HTTP compression profile must be enabled for them to function.

When configuring the BIG-IP system to compress data, you can:
  • Configure the system to include or exclude certain types of data.
  • Specify the levels of compression quality and speed that you want.

You can enable the HTTP compression option by setting the URI Compression or the Content Compression setting of the HTTP Compression profile to URI List or Content List, respectively. This causes the BIG-IP system to compress HTTP content for any responses in which the values that you specify in the URI List or Content List settings of an HTTP profile match the values of the Request-URI or Content-Type response headers.

Exclusion is useful because some URI or file types might already be compressed. Using CPU resources to compress already-compressed data is not recommended because the cost of compressing the data usually outweighs the benefits. Examples of regular expressions that you might want to specify for exclusion are .*\.pdf, .*\.gif, or .*\.html.

Note: The string that you specify in the URI List or the Content List setting can be either a pattern string or a regular expression. List types are case-sensitive for pattern strings. For example, the system treats the pattern string www.f5.com differently from the pattern string www.F5.com. You can override this case-sensitivity by using the Linux regexp command.

HTTP Compression profile options

You can use an HTTP Compression profile alone, or with the WebAccelerator™ system, to reduce the amount of data to be transmitted, thereby significantly reducing bandwidth usage. The tasks needed to configure HTTP compression for objects in a WebAccelerator policy node are available in the WebAccelerator system, but an HTTP Compression profile must be enabled for them to function.

About the Web Acceleration profile

When used by Local Traffic Manager™ without an associated WebAccelerator™ application, the Web Acceleration profile uses basic default acceleration.

When used with the WebAccelerator system, the Web Acceleration profile includes an ordered list of associated WebAccelerator applications, each of which defines the host names, IP addresses, and policy that is applied to a request that matches the specified host name or IP address.

A Web Acceleration profile with multiple WebAccelerator applications that target different host names can be handled by the same virtual server, or by multiple virtual servers, while simultaneously allowing each application to apply a different policy to matching traffic.

Benefits of the Web Acceleration profile

The Web Acceleration profile enables you to accelerate HTTP traffic, for example, by reducing the traffic load to back-end servers. This ability is useful if an object on a site is under high demand, if the site has a large quantity of static content, or if the objects on the site are compressed.

For high-demand objects, the Web Acceleration profile caches those objects for a site, which is especially beneficial during periods of high demand for specific content. With the Web Acceleration profile configured, the content server only needs to serve the content to the BIG-IP® system once per expiration period.

For static content, the Web Acceleration profile is also useful if a site consists of a large quantity of static content such as CSS, JavaScript, or images and logos.

For compressible data, the Web Acceleration profile can cache data for clients that can accept compressed data. You can use the Web Acceleration profile with the HTTP Compression profile to reduce the load of the BIG-IP system and the content servers.

Task summary for accelerating HTTP traffic with an asymmetric WebAccelerator system

Perform these tasks to accelerate HTTP traffic with an asymmetric WebAccelerator™ system.

Defining an NTP server

Network Time Protocol (NTP) synchronizes the clocks on a network by means of a defined NTP server.
  1. On the Main tab, click System > Configuration > Device > NTP. The NTP screen displays.
  2. Type an address for the NTP server in the Address field.
  3. Click Add.
  4. Click Update.
The NTP server is defined.

Overview: WebAccelerator policies options

You can use acceleration policies to speed up the access to your web applications. When configuring policies in a WebAccelerator™ application, you can do one or more of the following:

Predefined Policies

  • Use a predefined policy. Predefined policies are available when you configure a WebAccelerator application. You do not need to create them.

User-Defined Policies

  • Create and use a user-defined policy by copying a predefined policy.
  • Create and use a new user-defined policy

Creating a user-defined acceleration policy from a predefined acceleration policy

You can copy a predefined acceleration policy, and modify applicable nodes, matching rules, and acceleration rules, to create a user-defined acceleration policy.
  1. On the Main tab, click WebAccelerator > Policies. The Policies screen displays a list of existing acceleration policies.
  2. In the Tools column, click Copy for the predefined acceleration policy you want to copy.
  3. Name the policy.
  4. In the Description field, type a description.
  5. Click Copy.
  6. Click the name of the new user-defined acceleration policy.
  7. Create, delete, or modify nodes, matching rules, and acceleration rules, as necessary.
  8. Publish the policy.
    1. Click Publish.
    2. In the Comment field, type a description.
    3. Click Publish Now.
The user-defined acceleration policy appears in the Policy column.

Creating a new user-defined acceleration policy

You can create a new user-defined acceleration policy and define each matching rule and acceleration rule individually.
  1. On the Main tab, click WebAccelerator > Policies. The Policies screen displays a list of existing acceleration policies.
  2. Click Create.
  3. Name the policy.
  4. In the Description field, type a description.
  5. Click Create.
  6. Click the name of the new user-defined acceleration policy.
  7. Create the Policy Tree by defining branch nodes for groups of content, and leaf nodes for specific content.
  8. Specify the matching and acceleration rules for each node.
  9. Click Exit Policy Editor.
The acceleration policy appears in the Policy column.

Creating an application profile for an asymmetric WebAccelerator system

An application profile provides the key information that the WebAccelerator™ system needs to appropriately handle requests to your site's web applications.
  1. On the Main tab, click WebAccelerator > Applications. The Applications List screen opens.
  2. Click Create.
  3. Name the application.
  4. In the Description field, type a description.
  5. In the Policy list, select a policy.
  6. In the Requested Host field, type each domain name (host name) that might appear in HTTP requests for your web application. The specified domain names are defined in the host map for the application profile.
  7. Click Save.
The application profile appears in the Application column on the Applications List screen.

Enabling the WebAccelerator system with the Web Acceleration profile

A WebAccelerator™ application must be available.
The Web Acceleration profile enables the WebAccelerator system by using WebAccelerator applications that run on a virtual server.
  1. On the Main tab, click Local Traffic > Profiles > Services > Web Acceleration. The Web Acceleration profile list screen opens.
  2. Click the name of a profile.
  3. Select the Custom check box. The fields in the Settings area become available for configuring.
  4. For the WA Applications setting, select an application in the Available field and click Enable. The WebAccelerator application is listed in the Enabled field.
  5. Click Update.
The WebAccelerator system is enabled through the WebAccelerator application in the Web Acceleration profile.

Creating a pool to manage HTTP traffic

Use this procedure to create a pool to manage HTTP connections.
  1. On the Main tab, click Local Traffic > Pools. The Pool List screen opens.
  2. Click Create. The New Pool screen opens.
  3. Type a unique name for the pool.
  4. For the Health Monitors setting, from the Available list, select the http monitor, and click << to move the monitor to the Active list.
  5. From the Load Balancing Method list, select how the system distributes traffic to members of this pool. The default is Round Robin.
  6. For the Priority Group Activation setting, select the way to handle priority groups:
    • Select Disabled to disable priority groups. The default is Disabled.
    • Select Less than, and type the minimum number of members in the Available Members field that must remain available in each priority group in order for traffic to remain confined to that group.
  7. Using the New Members setting, add each resource that you want to include in the pool:
    1. Type an IP address in the Address field, or select a node address from the Node List.
    2. Type 80 in the Service Port field, or select HTTP from the list.
    3. (Optional) Type a priority number in the Priority field.
    4. Click Add.
  8. Click Finished.
The new pool appears in the Pools list.

Creating a customized HTTP compression profile

If you need to adjust the compression settings to optimize compression for your environment, you can create a customized HTTP compression profile.
  1. On the Main tab, click Local Traffic > Profiles > Services > HTTP Compression. The HTTP Compression profile list screen opens.
  2. Click Create. The New HTTP Compression Profile screen opens.
  3. In the Name field, type a name for the profile. Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
  4. From the Parent Profile list, select one of the following profiles:
    • httpcompression.
    • wan-optimized-compression.
  5. Select the Custom check box. The fields in the Settings area become available for configuring.
  6. Modify the settings, as required.
  7. Click Finished.
The custom HTTP compression profile appears in the HTTP Compression list screen.

Creating a customized Web Acceleration profile

If you need to adjust the Web Acceleration profile settings to optimize caching for your environment, you can create a customized Web Acceleration profile.
  1. On the Main tab, click Local Traffic > Profiles > Services > Web Acceleration. The Web Acceleration profile list screen opens.
  2. Click Create. The New Web Acceleration Profile screen opens.
  3. In the Name field, type a name for the profile. Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
  4. Select webacceleration in the Parent Profile list.
  5. Select the Custom check box. The fields in the Settings area become available for configuring.
  6. Modify the settings, as necessary.
  7. For the WA Applications setting, select an application in the Available field and click Enable. The WebAccelerator application is listed in the Enabled field.
  8. Click Finished.
The custom Web Acceleration profile appears in the Web Acceleration list screen.

Creating a virtual server for HTTP compression and web acceleration

You can create a virtual server that uses an HTTP profile with an HTTP compression profile and Web Acceleration profile to accelerate HTTP traffic.
  1. On the Main tab, click Local Traffic > Virtual Servers. The Virtual Server List screen displays a list of existing virtual servers.
  2. Click the Create button. The New Virtual Server screen opens.
  3. Type a unique name for the virtual server.
  4. In the Destination setting, in the Address field, type the IP address you want to use for the virtual server. The IP address you type must be available and not in the loopback network.
  5. In the Service Port field, type 80, or select HTTP from the list.
  6. Select http in the HTTP Profile list.
  7. From the HTTP Compression Profile list, select one of the following profiles:
    • httpcompression.
    • wan-optimized-compression.
    • A customized profile.
  8. In the Web Acceleration Profile list, select one of the following profiles with an enabled WebAccelerator application:
    • optimized-acceleration.
    • optimized-caching.
    • webacceleration.
    • A customized profile.
  9. In the Resources area of the screen, from the Default Pool list, select a pool name.
  10. Click Finished.
The virtual server with an HTTP profile configured with an HTTP compression and web acceleration profile appears in the Virtual Server list.

Verifying an application profile

Verifying an application profile requires a personal computer (PC) that can run a web browser.
You must verify that the WebAccelerator™ system is able to properly send data to and receive data from the origin web servers.
  1. On a PC, open the hosts file to edit.
  2. Add the host name that you used to access the web site application. The host name must point to the IP address for the virtual server that you configured.
    Note: On Microsoft® Windows® 2000 and Windows® XP machines, the hosts file is located at: C:\WINDOWS\system32\drivers\etc\hosts.
    For example, if you can access the web site at the www.siterequest.com domain, and the virtual server is at IP address 11.1.11.3, add the following line to the hosts file on the machine running the browser: 11.1.11.3 www.siterequest.com All network traffic from the web browser machine for the web site application subsequently goes to the virtual server.
  3. Request a page from the web site application. For example, if you configured www.siterequest.com, request a page from www.siterequest.com. The page appears directly from the origin web servers.
    Note:
    • If the browser times out the request, then the WebAccelerator system is not running, or the firewall is blocking access to port 80 on the WebAccelerator system.
    • If you receive an Access denied by intermediary error:
      • Verify that the hosts file is correct.
      • Verify that the host map for the application profile is correct.
      • Verify that you used a domain in the request that matches a requested host in the host map, and that it maps to the destination host.
  4. Remove any entries that you changed or added, once you verify the application profile and the host mapping.
The WebAccelerator system is verified to properly send data to and receive data from the origin web servers

Implementation results

The WebAccelerator™ system is configured asymmetrically to accelerate HTTP traffic.

Compression prioritization

Compression is prioritized in accordance with provisioned modules and iRules®.

Priority Component Description
1 iRules An iRule compression parameter receives first priority over any provisioned module compression settings.
2 WebAccelerator™ system WebAccelerator compression settings receive second priority, superseded by iRules, but superseding any HTTP Compression profile settings.
Note: If you select the Browser Workarounds check box in an HTTP Compression profile, the BIG-IP® system is prevented from compressing server responses for certain browser conditions.
3 Local Traffic Manager™ Local Traffic Manager compression settings, defined by HTTP Compression profile settings, receive third priority, superseded by any iRule settings or WebAccelerator system compression settings.

HTTP Compression profile settings

This table describes the HTTP Compression profile configuration settings and default values.

Setting Value Description
Name No default Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
Parent Profile Selected predefined or user-defined profile Specifies the selected predefined or user-defined profile.
Selective Compression Disabled When enabled, the BIG-IP® system performs HTTP compression only when specified by an iRule containing the HTTP::compress command. Data compression only compresses HTTP server responses, and not client requests.
URI Compression Not Configured The URI List list item expands the URI List settings, which direct the BIG-IP® system to include in compression, or exclude from compression, certain responses that are specified in the URIs of client requests. You can type regular expressions to specify the types of server responses that you want the BIG-IP® system to include in or exclude from compression.
Content Compression Content List The Content List list item expands the Content List settings, enabling you to configure the type of content targeted for compression (by using the Content Type field), as well as the type of responses to include for content compression (specified in the Include List) or exclude from content compression (specified in the Exclude List). The Include List provides default entries of: text/ and application/(xml|x-javascript).
Preferred Method Gzip Specifies the compression method that you want to use to compress the response. Possible values are Gzip and Deflate.
Minimum Content Length 1024 Specifies the minimum length in bytes of a server response that is acceptable for compressing that response. The length applies to content length only, not headers.
Compression Buffer Size 4096 Specifies the maximum number of compressed bytes that the BIG-IP system buffers before deciding whether or not to insert a Content-Length header into the response that specifies the compressed size.
gzip Compression List 1 - Least Compression (Fastest) Specifies the amount and rate of compression, where a setting of 1 - Least Compression (Fastest) provides the least compression and fastest performance, and a setting of 9 - Most Compression (Slowest) (the highest possible value) causes the most compression but slowest performance. Selecting Other allows you to specify incremental whole numbers from 1 through 9, where increasing values decrease performance and increase compression.
Important: Selecting any value other than 1 - Least Compression (Fastest) can degrade system performance.
gzip Memory Level 8 Specifies the number of kilobytes (kB) of memory that the BIG-IP® system uses for internal compression buffers when compressing a server response.
gzip Window Size 16 Specifies the number of kilobytes (kB) in the window size that the BIG-IP system uses when compressing a server response.
Vary Header Enabled Enables or disables the insertion of a Vary header into cacheable server responses.
HTTP/1.0 Requests Disabled Enables or disables compression of responses to HTTP/1.0 client requests.
Keep Accept Encoding Disabled When enabled, allows the target server to perform the HTTP compression instead of the BIG-IP system.
Browser Workarounds Disabled Enabling this setting prevents the system from compressing server responses for any of the following conditions:
  • The client browser is Netscape® version 4.0.
  • The client browser is Netscape version 4.x (versions 4.10 and higher) and the Content-Type header of the server response is not set to text/html or text/plain.
  • The client browser is Microsoft® Internet Explorer® (any version), the Content-Type header of the server response is set to either text/css or application/x-javascript, and the client connection uses SSL.
  • The client browser is Microsoft® Internet Explorer® (any version), the Content-Type header of the server response is set to either text/css or application/x-javascript, and the Cache-Control header of the server response is set to no-cache.
CPU Saver Enabled When enabled, specifies that the system monitors the percent CPU usage and adjusts compression rates automatically when the CPU usage reaches either the CPU Saver High Threshold or the CPU Saver Low Threshold.
CPU Saver High Threshold 90 Specifies the amount of CPU usage that causes the system to change the amount of content being compressed, and the amount of compression being applied.
CPU Saver Low Threshold 75 Specifies the amount of CPU usage that causes the system to revert back to user-defined compression values.

Web Acceleration profile settings

This table describes the Web Acceleration profile configuration settings and default values.

Setting Value Description
Name No default Names must begin with a letter, and can contain only letters, numbers, and the underscore (_) character.
Parent Profile Selected predefined or user-defined profile Specifies the selected predefined or user-defined profile.
Cache Size 100

Without a provisioned WebAccelerator™ system, this setting specifies the maximum size in megabytes (MB) reserved for the cache. When the cache reaches the maximum size, the system starts removing the oldest entries.

With a provisioned WebAccelerator system, this setting defines the minimum reserved cache size. The maximum size of the minimum reserved cache is 64 GB (with provisioned cache availability). An allocation of 15 GB is practical for most implementations. The total available cache includes the minimum reserved cache and a dynamic cache, used as necessary when the minimum reserved cache is exceeded, for a total cache availability of 256 GB.

Maximum Entries 10000 Specifies the maximum number of entries that can be in the cache.
Maximum Age 3600 Specifies how long in seconds that the system considers the cached content to be valid.
Minimum Object Size 500 Specifies the smallest object in bytes that the system considers eligible for caching.
Maximum Object Size 50000 Specifies the largest object in bytes that the system considers eligible for caching.
URI Caching Not Configured Specifies whether the system retains or excludes certain Uniform Resource Identifiers (URIs) in the cache. The process forces the system either to cache URIs that typically are ineligible for caching, or to not cache URIs that typically are eligible for caching.
URI List No default value Specifies the URIs that the system either includes in or excludes from caching.
  • Pin List. Lists the URIs for responses that you want the system to store indefinitely in the cache.
  • Include List. Lists the URIs that are typically ineligible for caching, but the system caches them. When you add URIs to the Include List, the system caches the GET methods and other methods, including non-HTTP methods.
  • Exclude List. Lists the URIs that are typically eligible for caching, but the system does not cache them.
  • Include Override List. Lists URIs to cache, though typically, they would not be cached due to defined constraints, for example, the Maximum Object Size setting. The default value is none. URIs in the Include Override List list are cacheable even if they are not specified in the Include List.
Ignore Headers All Specifies how the system processes client-side Cache-Control headers when caching is enabled.
  • None. Specifies that the system honors all Cache-Control headers.
  • Cache-Control:max-age. Specifies that the system disregards a Cache-Control:max-age request header that has a value of max-age=0.
  • All. Specifies that the system disregards all Cache-Control headers.
Insert Age Header Enabled Specifies, when enabled, that the system inserts Date and Age headers in the cached entry. The Date header contains the current date and time on the BIG-IP® system. The Age header contains the length of time that the content has been in the cache.
Aging Rate 9 Specifies how quickly the system ages a cache entry. The aging rate ranges from 0 (slowest aging) to 10 (fastest aging).
Maximum Entries 10000 Specifies the maximum number of entries that can be in the cache.
Maximum Age 3600 Specifies how long in seconds that the system considers the cached content to be valid.
Minimum Object Size 500 Specifies the smallest object in bytes that the system considers eligible for caching.
Maximum Object Size 50000 Specifies the largest object in bytes that the system considers eligible for caching.
URI Caching Not Configured Specifies whether the system retains or excludes certain Uniform Resource Identifiers (URIs) in the cache. The process forces the system either to cache URIs that typically are ineligible for caching, or to not cache URIs that typically are eligible for caching.
URI List No default value Specifies the URIs that the system either includes in or excludes from caching.
  • Pin List. Lists the URIs for responses that you want the system to store indefinitely in the cache.
  • Include List. Lists the URIs that are typically ineligible for caching, but the system caches them. When you add URIs to the Include List, the system caches the GET methods and other methods, including non-HTTP methods.
  • Exclude List. Lists the URIs that are typically eligible for caching, but the system does not cache them.
  • Include Override List. Lists URIs to cache, though typically, they would not be cached due to defined constraints, for example, the Maximum Object Size setting. The default value is none. URIs in the Include Override List list are cacheable even if they are not specified in the Include List.
Ignore Headers All Specifies how the system processes client-side Cache-Control headers when caching is enabled.
  • None. Specifies that the system honors all Cache-Control headers.
  • Cache-Control:max-age. Specifies that the system disregards a Cache-Control:max-age request header that has a value of max-age=0.
  • All. Specifies that the system disregards all Cache-Control headers.
Insert Age Header Enabled Specifies, when enabled, that the system inserts Date and Age headers in the cached entry. The Date header contains the current date and time on the BIG-IP® system. The Age header contains the length of time that the content has been in the cache.
Aging Rate 9 Specifies how quickly the system ages a cache entry. The aging rate ranges from 0 (slowest aging) to 10 (fastest aging).
WA Applications No default Lists enabled WebAccelerator applications in the Enabled field and available applications in the Available field.
Table of Contents   |   << Previous Chapter   |   Next Chapter >>

Was this resource helpful in solving your issue?




NOTE: Please do not provide personal information.



Incorrect answer. Please try again: Please enter the words to the right: Please enter the numbers you hear:

Additional Comments (optional)