Optimizing Application Performance with Cisco Application Control Engine 4710 Appliance Content Compression

Similar documents
No. Time Source Destination Protocol Info HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.

SiteCelerate white paper

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

Using Steelhead Appliances and Stingray Aptimizer to Accelerate Microsoft SharePoint WHITE PAPER

SharePoint Performance Optimization

Arnaud Becart ip- label 11/9/11

HTTP Caching & Cache-Busting for Content Publishers

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6

Advanced Server Load-Balancing Deployment Guide

Front-End Performance Testing and Optimization

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

Cisco TelePresence Management Suite Redundancy

Acunetix Website Audit. 5 November, Developer Report. Generated by Acunetix WVS Reporter (v8.0 Build )

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Key Components of WAN Optimization Controller Functionality

Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Playing with Web Application Firewalls

Configuring Server Load Balancing

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Speed up your web site. Alan Seiden Consulting alanseiden.com

How To Optimize Your Website With Radware Fastview

TCP/IP Networking An Example

Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet

DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0

Cisco Application Networking for Citrix Presentation Server

GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr

Solution Guide. Optimizing Microsoft SharePoint 2013 with Citrix NetScaler. citrix.com

Alteon Browser-Smart Load Balancing

Deployment Guide. Caching (Static & Dynamic) Deployment Guide. A Step-by-Step Technical Guide

Configuring Class Maps and Policy Maps

Cost Effective Deployment of VoIP Recording

sessionx Desarrollo de Aplicaciones en Red Web Applications History (1) Content History (2) History (3)

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Network Performance Optimisation: The Technical Analytics Understood Mike Gold VP Sales, Europe, Russia and Israel Comtech EF Data May 2013

HTTP Protocol. Bartosz Walter

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

Deployment Guide Oracle Siebel CRM

Cisco WAAS Express. Product Overview. Cisco WAAS Express Benefits. The Cisco WAAS Express Advantage

Vodia PBX RESTful API (v2.0)

Accelerating Mobile Access

Hypertext for Hyper Techs

World Wide Web. Before WWW

CMS Diagnostics Guide

Lab Testing Summary Report

Brocade Virtual Traffic Manager and Microsoft Outlook Web Access Deployment Guide

M3-R3: INTERNET AND WEB DESIGN

Microsoft TMG Replacement with NetScaler

Configuring Server Load Balancing

Multifactor Authentication

Cisco Application Networking for IBM WebSphere

Results-Oriented Application Acceleration with FastView Because Every Second Counts Whitepaper

Information Extraction Art of Testing Network Peripheral Devices

Deployment Guide Jan-2016 rev. a. Deploying Array Networks APV Series Application Delivery Controllers with Oracle WebLogic 12c

The Hyper-Text Transfer Protocol (HTTP)

Cyber Security Workshop Ethical Web Hacking

The Critical Role of an Application Delivery Controller

Deployment Guide Microsoft IIS 7.0

Frequently Asked Questions

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH CITRIX PRESENTATION SERVER 3.0 AND 4.5

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

AirZip Accelerator for Microsoft Internet Information Server Release 4.0

Network Technologies

CISCO WIDE AREA APPLICATION SERVICES (WAAS) OPTIMIZATIONS FOR EMC AVAMAR

Research of Web Real-Time Communication Based on Web Socket

79 Tips and Tricks for Magento Performance Improvement. for Magento Performance Improvement

Cisco ACE 4710 Application Control Engine

Brocade Virtual Traffic Manager and Microsoft IIS Deployment Guide

Integration Guide. EMC Data Domain and Silver Peak VXOA Integration Guide

Configuring Health Monitoring Using Health Probes

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Cisco Wide Area Application Services Optimizes Application Delivery from the Cloud

Using TestLogServer for Web Security Troubleshooting

Home Network Administration Protocol (HNAP) Whitepaper

Microsoft SharePoint 2010 Deployment with Coyote Point Equalizer

CloudOYE CDN USER MANUAL

Executive summary. Introduction Trade off between user experience and TCO payoff

Optimize Application Delivery for Global Deployment Of SAP BusinessObjects Enterprise with Blue Coat Systems Acceleration

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

Cleaning Encrypted Traffic

Deployment Guide. Microsoft SharePoint Deployment Guide. Utilizing the Acceleration and Optimization Features of Citrix NetScaler A Technical Guide

Cisco Application Networking for BEA WebLogic

Remote System Monitor for Linux [RSML]: A Perspective

1945: 1989: ! Tim Berners-Lee (CERN) writes internal proposal to develop a. 1990:! Tim BL writes a graphical browser for Next machines.

Using SAML for Single Sign-On in the SOA Software Platform

Configuring Health Monitoring

Addressing Mobile Load Testing Challenges. A Neotys White Paper

Brocade Virtual Traffic Manager and Oracle Application Server 10G Deployment Guide

Content Inspection Director

DEPLOYMENT GUIDE DEPLOYING F5 WITH MICROSOFT WINDOWS SERVER 2008

CSE 135 Server Side Web Languages Lecture # 12. Web Performance Notes

By Citrix Consulting Services. Citrix Systems, Inc.

SILVER PEAK ACCELERATION WITH EMC VSPEX PRIVATE CLOUD WITH RECOVERPOINT FOR VMWARE VSPHERE

WanVelocity. WAN Optimization & Acceleration

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

Transcription:

White Paper Optimizing Application Performance with Cisco Application Control Engine 4710 Appliance Content Compression The Cisco ACE 4710 Application Control Engine represents the next generation application switch for maximizing the availability, security, and acceleration of data center applications. This document details the HTTP compression acceleration technology of the Cisco ACE. Challenge: Performance Bottlenecks Mission critical business applications such as SAP Enterprise Portal, Siebel CRM, Microsoft Outlook Web Access and custom J2EE applications are increasingly found at the core of today s Enterprise IT infrastructure and are often accessed by an ever more widespread and mobile workforce. However, network latency and bandwidth constraints outside the control of IT staff often present a major hurdle to Organizations that deploy web applications accessed by remote users. Bottlenecks such as these degrade application performance resulting in reduced productivity as well as increased capital and operational costs. Cisco ACE 4710 HTTP Compression Compression of HTTP content for web applications improves end user experience for applications accessed over the WAN by reducing the amount of data sent from the web server to the client. Thanks to a reduction in the amount of data sent to the client, the time to transfer the response to the client decreases. This significantly improves performance for web applications accessed via All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 1 of 12

congested or lossy networks as well as for clients with restricted bandwidth such as 56Kbps dial-up access. Figure 1. Cisco ACE 4710 accelerates web applications over the WAN Remote User Shared DSL Branch Office 128k Leased line Roaming User 56k Dial-up WAN: Compressed Data. Low Bandwidth ACE LAN: Big Data. High Bandwidth. Server Serverv Benefits of Compression on Cisco Application Control Engine (ACE) 4710 Appliance Improved End User Experience: The reduced number of packets associated with compressed data has a significant impact on reducing application response times over the WAN. By applying compression to web applications clients accessing these applications from a 56 kbps dial-up links experience a 400% improvement in application response times. For example 100 Kilobytes of data requires 14 seconds to download over dial-up versus 3 seconds with compression. Figure 2. Time in seconds to transfer 100KB for common bandwidth-contraints. Data Reduction: Compressing web content cuts bandwidth costs by reducing the size of the data delivered to the client by as much as 70 to 90%. Cisco ACE 4710 HTTP All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 2 of 12

compression reduces the size of the HTTP payload delivered to the web browser and as a result the overall amount of data transferred across WAN links drops by a factor of 3 to 4. This decrease in data sent downstream increases the effective available bandwidth allowing more transactions to be carried across the same links. Figure 3. ACE 4710 HTTP compression applied to a 100 KB HTML file. Server Offload: Enabling compression is fairly easy to do on modern web servers and its use has become widespread. However this optimization comes at the cost of additional CPU utilization on the web server. The Cisco ACE 4710 enables web servers to scale to even greater traffic demands by offloading CPU intensive compression operations from the web server onto purpose-built hardware based compression on the Cisco ACE 4710. Figure 4 below demonstrates the result of offloading the workload of compressing HTTP responses onto the ACE 4710. With an Apache server using mod_deflate to compress 1,000 requests per second for a 70 KB page, the CPU is 80% utilized. As shown in Figure 4, offloading compression onto the ACE 4710 reduces the server CPU utilization by 70%. All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 3 of 12

Figure 4. Web server CPU utilization with ACE 4710 compression offload. Asymmetric Solution: Cisco ACE 4710 accelerates web applications for users on the WAN without the need for client side or server side changes by leveraging native compression support in web browsers such as Microsoft Internet Explorer and Firefox. ACE does not require a second device to accelerate traffic to WAN users. Scalability: The Cisco ACE 4710 delivers up to 1 Gbps of hardware accelerated data compression in addition to providing application availability and security for real world deployments. Flexibility: Try before you buy and pay as you go licensing. Cisco ACE 4710 provides for 100 Mbps throughput of compressed traffic on the base appliance with an optional upgrade license to increase throughput to 500 or 1000 Mbps of compression. Ease of Use: HTTP Compression can be enabled with a single click using the Cisco ACE 4710 Device Manager. How Does Cisco ACE 4710 HTTP Compression Work? HTTP compression is defined in the protocol specifications of HTTP 1.1 in RFC 2616 (http://tools.ietf.org/html/rfc2616). HTTP 1.1 allows for two different encoding methods of the compressed HTTP payload. The Cisco ACE 4710 provides support for both: Deflate, the data format for compression described in RFC1951 (http://tools.ietf.org/html/rfc1951) All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 4 of 12

Gzip, the file format for compression described in RFC1952 (http://tools.ietf.org/html/rfc1952) The majority of modern web browsers on the market today, such as Internet Explorer, Mozilla, Netscape, Firefox and Opera have implemented support for HTTP compression and accept both gzip and deflate compression methods. By compressing web application server responses ACE can deliver optimized web content to a wide variety of end users without having to make any changes to either the clients web browsers or web servers. Traffic flow with Cisco ACE 4710 Compression The following figure outlines the process of how the server s response to a request made by a web browser is compressed by the Cisco ACE 4710 appliance. Each step in the diagram is explained below. Figure 5. ACE 4710 compression traffic flow Client WAN Cisco ACE 4710 LAN Server 1. Request before ACE GET / HTTP/1.1 Accept-Encoding: gzip, deflate 2. ACE rewrites Client s request Request after ACE GET / HTTP/1.1 Accept-Encoding: identity 3. Response before ACE 4. ACE Inspects response HTTP/1.1 200 OK Content-type: text/html Content-Length: 5963 6. Response after ACE 5. ACE Compresses Response Server sends uncompressed HTTP payload of 5963 bytes HTTP/1.1 200 OK Content-type: text/html Content-Encoding: deflate Transfer-Encoding: chunked 7. Client receives compressed HTTP payload 2577 bytes Step 1. An HTTP/1.1 client that supports HTTP compression will alert the Cisco ACE 4710 which method is supported by sending the Accept-Encoding: HTTP header in an HTTP/1.1 request for content. The example below demonstrates an HTTP GET request by an All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 5 of 12

Internet Explorer web browser for a web page served by a web server load balanced by Cisco ACE 4710. GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) Host: www.foo.com Connection: Keep-Alive Cache-Control: no-cache Step 2. The Cisco ACE 4710 receives the HTTP request from the web browser and load balances it to the most available and least loaded web server in the server farm. The client s HTTP GET request is modified by replacing the Accept-Encoding: gzip, deflate" header with "Accept-Encoding: Identity". This prevents the web server from sending a compressed response to Cisco ACE 4710. GET / HTTP/1.1 Accept: */* Accept-Language: en-us Accept-Encoding: identity User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) Host: www.foo.com Connection: Keep-Alive Cache-Control: no-cache Step 3. The web server receives the load balanced GET request and sends an uncompressed HTTP response with 5963 bytes of data to Cisco ACE 4710. HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html; charset=utf-8 Server: fws Content-Length: 5963 Date: Wed, 06 Feb 2008 00:42:19 GMT Step 4. Cisco ACE 4710 parses the HTTP response from the web server to verify the following conditions are true: 1. The response is an HTTP/1.1 200 OK response. An HTTP 1.0 response is not compressed by Cisco ACE 4710. ACE does not compress responses for HTTP 1.0 clients. All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 6 of 12

2. The response is configured for compression by verifying that the Content-Type: matches the mimetype compression parameter configured on Cisco ACE 4710. By default all content types that match text/.* are considered eligible for compression. 3. The server response must be larger than the minimum size which is 512 bytes by default. This is configurable by changing the minimum-size compression parameter on Cisco ACE 4710. Step 5. Once Cisco ACE 4710 determines that the server response is eligible for compression, it can compress the HTTP response using one of the compression methods listed by the Accept-Encoding: header sent in the client s GET request. Almost all modern web browsers support Gzip and or Deflate and Cisco ACE 4710 uses Deflate as the default compression method if the client supports both methods. Step 6. Cisco ACE 4710 compresses the response and sends it to the client. Cisco ACE 4710 notifies the web browser that the data is compressed by sending the Content-Encoding: header in the HTTP response to the web browser. HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html; charset=utf-8 Content-Encoding: deflate Server: fws Date: Wed, 06 Feb 2008 00:42:19 GMT Transfer-Encoding: Chunked Step 7. The web browser decompresses the payload of the HTTP response using the method specified by the HTTP response header Content-Encoding: deflate. The Content- Length: header in the web servers HTTP response to Cisco ACE 4710 shows that the response is 5,963 bytes in size. When this value is compared to the actual size of the uncompressed HTML file rendered in Internet Explorer of 2,577 bytes we see that HTTP compression reduced the size of the HTTP payload by roughly 60%. What type of files should be compressed? Static & Dynamic HTML: ACE 4710 HTTP compression improves the delivery of static and dynamic HTML files common to all web applications. Dynamic HTML files with extensions such as *.asp, *.aspx, *.cfm, *.dhtml,*.html,*.jsp,*.shtml, *.php, etc as well as other text based responses such as XML (*.xml) benefit from compression with a 70-80% reduction in size. Objects Embedded in HTML: It can also be beneficial to compress scripts (*.js) and style sheets (*.css). Certain version of Microsoft Internet Explorer can experience difficulty with compression of these file types. To prevent problems with these browsers ACE does not compress these files by default. Note: Internet Explorer versions 5.5 (SP1 and SP2) and 6.0 (SP1) have several known bugs in this area. Microsoft has published the following related Knowledge Base articles documenting the All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 7 of 12

problem: http://support.microsoft.com/kb/313712/en-us, http://support.microsoft.com/kb/312496/enus,http://support.microsoft.com/kb/871205/en-us and http://support.microsoft.com/kb/825057/en-us Images: Images (*.jpg, *.gif, *.png) should not be compressed with gzip/deflate because they are already compressed. Applying compression to these files types wastes processing resources and can also potentially increase file sizes since they typically do not compress. For content with large image sizes the ACE 4710 can utilize the Smart Image Optimization feature to compress JPEGs (*.jpg) and PNG (.png) image formats. For more information on the Smart Image Optimization please refer to the Cisco ACE 4700 Series Appliance Application Acceleration and Optimization Configuration Guide (http://www.cisco.com/en/us/docs/app_ntwk_services/data_center_app_services/ace_appliances/v A1_7_/configuration/app_acceleration_and_optimization/guide/aloptmze.html#wp1137836). The following chart summarizes how ACE 4710 handles the various elements of common web applications when compression is enabled from the Device Manager. Table 1. ACE 4710 configuration for compression of common web page elements. Object Type Example File Extensions Gzip/Deflate Compressible Content-Type Device Manager enabled default configuration Static HTML Dynamic HTML *.htm *.html *.shtml *.dhtml.*php.*asp.*aspx.*jsp.*cfm Yes text/html Compressed by default Yes text/html Compressed by default XML *.xml Yes text/xml Not compressed by default Images *.gif *.jpg *.png No image/gif image/jpg image/png Do not apply gzip/deflate compression Use Smart Image Optimization to reduce image sizes. Scripts *.js Yes application/x-javascript text/javascript Not compressed by default to avoid known browser bugs. Stylesheet *.css Yes text/css Not compressed by default to avoid known browser bugs. Downloaded Files *.pdf *.doc *.xls *.ppt Yes Application/pdf Application/word Application/excel Application/powerpoint Not compressed by default. It is also important to note that there is a cost associated to applying compression to HTTP traffic since it takes a few additional milliseconds to carry out the compression on ACE and additional All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 8 of 12

CPU on the client to decompress the file. To determine if the benefit of compression outweighs the cost to compress and decompress you should consider the following: The size of the response: It is advantageous to apply compression to files greater than 1K in size. Server responses smaller than 1K are delivered in a single tcp segment and do not benefit greatly from compression. The minimum-size compression parameter controls the minimum file size ACE will compress. The default value is 512 bytes. The bandwidth of the connection: The benefit of compression is greater for clients with lower bandwidth speeds. Although users with 56 Kbps modems will benefit the most, compression provides a noticeable improvement even for clients with faster connections such as DSL. In contrast users accessing compressed content across high bandwidth LANs do not typically benefit from compression since throughput is not often a bottleneck in this case. Physical distance between the client and the server: The greater the distance between the client and server the more round trip latency is experienced. Compression of content over high latency networks improves communication efficiency by reducing the number of packets transmitted. Users accessing content across networks experiencing congestion and packet loss also benefit from the reduced number of packets. Clients accessing applications accross low latency environments such as LANs do not typically benefit from compression. How to Enable Compression on the Cisco ACE 4710 Appliance From the Cisco ACE 4710 Device Manager you can begin compressing HTTP traffic on Cisco ACE 4710 by clicking the Enable Compression command within the Virtual Server configuration for server farms. A single click enables compression for the load balancing policy configured. Figure 6. Enabling compression from the Cisco ACE 4710 Device Manager Single mouse click to enable Compression All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 9 of 12

The ACE 4710 s load balancing policy in the current running configuration is modified by the Device Manager to include compress default-method deflate in the class class-default. For example the load balancing policy ORACLE-HTTP now contains the following: Load balancing policy before: policy-map type loadbalance first-match ORACLE-HTTP class class-default serverfarm ORACLE Load balancing policy after: policy-map type loadbalance first-match ORACLE-HTTP class default-compression-exclusion-mime-type serverfarm ORACLE class class-default compress default-method deflate serverfarm ORACLE Enabling compression from the Device Manager creates an additional class-map, shown below, in the Cisco ACE 4710 running configuration that is used to prevent compression of certain content types based on the file extension. The additional called default-compression-exclusion-mime-type is added to the load balancing policy and prevents compression for responses matching requests for the following URLs: class-map type http loadbalance match-any default-compressionexclusion-mime-type description DM generated classmap for default LB compression exclusion mime types. 2 match http url.*gif 3 match http url.*css 4 match http url.*js 5 match http url.*class 6 match http url.*jar 7 match http url.*cab 8 match http url.*txt 9 match http url.*ps 10 match http url.*vbs 11 match http url.*xsl 12 match http url.*xml 13 match http url.*pdf 14 match http url.*swf 15 match http url.*jpg 16 match http url.*jpeg 17 match http url.*jpe All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 10 of 12

18 match http url.*png The Cisco ACE 4710 takes a conservative approach to applying compression whereby any response that matches the default-compression-exclusion-mime-type will not be compressed by ACE. This class prevents the compression of certain types of objects such as images (*.gif,.jpg, *.png) which are already served in a compressed format and do not benefit from gzip/deflate compression. Other objects in the list such as java-script (*.js) and cascading style-sheets (*.css) are known to cause problems for older browsers when compressed. Verifying Compression is enabled on Cisco ACE 4710 To determine the overall reduction in amount of bytes sent from the web servers the show servicepolicy command can be used from the CLI. In addition the results are diplayed in the Cisco ACE 4710 Device Manager under the Config > Operations > Virtual Servers > Details page. Comparing the bytes in versus bytes out provides an indication of the overall compression ratio. Figure 7. Using Cisco ACE 4710 Appliance Device Manager to verify the compression results. bytes in are compressed and sent as bytes out All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 11 of 12

FOR MORE INFORMATION For more information about the Cisco ACE product family, visit http://www.cisco.com/go/ace For more information about Application Networking Services, go to: http://www.cisco.com/en/us/products/hw/contnetw/index.html or contact your local account representative. Printed in USA C78-331727-01 10/06 All contents are Copyright 1992 2006 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 12 of 12