|
Vendor Accent
Compress for better access
Rakesh
Singh writes about how compression technology is impacting enterprise Web
applications
The Internet has become an indispensable component in our transacting environment.
It is one of the quickest and most cost-effective methods of sharing data in
real-time to ensure that all stakeholders have access to the latest relevant
information. Businesses today are challenged with short deadlines to meet commitments
in a dynamic market, and the Web is a great facilitator.
Though a powerful medium, the Internet cannot always quickly transfer data in
its current form. Large files and data not only take a long time to reach their
destination but sometimes completely slow down or block other traffic on the
network. This does not imply that the Web has no value for enterprises that
have a need for speed and reliability, but rather demonstrates the challenges
that need to be overcome before harnessing its full power. Some of these problems
are exacerbated because of an approach to applications design that doesnt
take into account the various aspects of Web architecture. Consider the following
typical business situations.
- Every time your credit card statement is updated,
the entire list of transactions is transferred over the Internet.
- An agent at a call centre needs to download a lengthy
report repetitively across a slow WAN when all he needs is access to one particular
item within the report which is frequently updated.
Web applications performance issues
Today there is an imminent need for reliable, performance-optimised delivery
of HTTP content by all applications-users. The result is the rapid growth and
deployment of Web-based applications.
With increased distributed applications, performance has become a key issue
in IT management. An array of network acceleration technologies has been deployed
in the applications data path by enterprises to address performance issues.
Unfortunately, most application-acceleration products rely heavily on basic
and aged technologies that are short-term solutions and end up increasing complexity
in the long term, thus leaving the core problem un-addressed.
For instance, HTTP compression employs the popular Gzip compression algorithm
to improve applications response by two to four times. HTTP compressions
ultimate efficiency is limited by its inability to recognise and reduce redundancy
in multiple accesses to the same or marginally different applications content.
In other words, whether there has been little or no change to the content requested
by a user, applications using HTTP compression repetitively send the complete
content set to the user on each request.
Having recognised this need, leading technology providers
have introduced disruptive compression technology to meet user requirements.
Compression technology today, with its new capabilities, has taken a far more
elegant and efficient approach that recognises the redundancy of applications
content and is programmed to send only that data which has changed. This ground-breaking
advancement is representative of the speed at which applications performance
is evolving to set a trend in todays business eco-system.
Benefits of compressing
Compression of Web content reduces the size of the objects being requested by
the user and the number of packets required to complete the transmission by
a considerable amount. This reduces the load on all parts of the network infrastructure
between the applications host site and the end-user, delivering a significant
increase in performance since the user receives applications data at a faster
rate than if compression were not available. Perhaps compression can enable
sites to serve a much larger population of users with no additional network
or hardware infrastructure investment while significantly reducing bandwidth
utilisation and resulting costs.
For example, say that the bandwidth usage of a Web site is 100 Mbps. About 75
percent of the content transmitted from the site is compressible. If an optimised
compression device that provides a 4:1 compression ratio is used, then the compressible
content is reduced from 75 Mbps to 19 Mbps. Combining the compressed content
with the remaining non-compressible content, the total throughput leaving the
site is 44 Mbps, and as a result, there is 56 percent savings in bandwidth.
Compression also provides impressive improvements in last-mile download times.
For instance, when a customer is requesting a page that requires a database
to dynamically generate a 60 KB file and the user is connected to the Web via
a 28.8 Kbps modem (at 3,600 bytes per second), the page will take 8.3 seconds
to be downloaded given the existing 2:1 modem compression ratio. If this content
was delivered to the same user and encrypted using SSL, the download time would
increase to 16.6 seconds since SSL encryption renders the modems compression
ineffective. Instead, if the size of the content could be reduced to 15 KB (assuming
a 4:1 compression ratio with Gzip), the download would take just 4.2 seconds
to complete, providing over 300 percent performance improvement.
The number of packets required for transmitting the requested objects also affects
download times. With compression, each object is not only reduced in size but
is transmitted with fewer packets. This is particularly important for remote
users since long-distance connections have unavoidably higher WAN latencies
than those of shorter distance. When latency is high, it takes longer for packet
acknowledgements to traverse the network. As a result, content that requires
a higher number of packets is slowed down significantly. Content compression
can yield a dramatic performance improvement for users accessing applications
over a long distance or over other high latency connections such as satellite
or wireless. Last mile modem compression does not yield this benefit at all.
To get the benefit from reducing the number of packets, content must be compressed
on the server side before being transmitted over the WAN.
The reduction in the number of packets also reduces the size of the total transmission
since each packet carries 54 bytes of overhead to accommodate the Ethernet,
IP and TCP header information required for delivery. If you look at this purely
from a packets-per-second view, you can see the aggregate impact of this reduction.
For example, if a site were processing a modest 100,000 packets-per-second,
a 25 percent reduction in content size would yield a savings of almost a full
T1s worth of wasted bandwidth utilisation just in TCP/IP overhead alone
(100,000 packets/sec x 54 bytes + 1.35 Mbits/sec).
Some Web content such as graphics and archive files is already compressed, and
some browsers and applications plug-ins (such as PDF readers) are not capable
of processing compressed content. It is therefore essential that the system
performing the compression allows granular controls for the administration to
configure policies of what type of content should be compressed for what browser
versions.
Traditional technology has targeted compressing HTTP content alone, but Web
traffic also consists of non-HTTP traffic, which will benefit just as much by
compression. In general, a flexible solution that can compress a variety of
Web content across multiple protocols and optimise applications performance
should allow you to realise the following key benefits:
- Increase the capacity of existing infrastructureallowing
you to support more users with less hardware.
- Increase network throughput and performancereducing
your overall bandwidth consumption and cost while providing additional capacity
for new applications.
- Reduce network latency accelerating applications
response times by minimising the number of packets required for the site to
respond.
- Eliminate security bottlenecksaccelerating secure
page delivery by enabling the compression of encrypted content before encryption,
putting HTTPS performance on par with clear text HTTP delivery.
Advanced compression
In the current advanced applications delivery environment, the system directs
client requests to a back-end Web server, determined by an administrator-selected
load-balancing algorithm or layer 7 content switching policies. A copy of the
data is stored in the system memory and compressed using the standard GZIP algorithm.
If the client request matches the compression policy, it transmits the compressed
applications data to the user along with a small amount of JavaScript that runs
within the users Web browser.
Subsequent requests for the same applications data invoke the compression engine.
The JavaScript running in the clients browser then couples the modified
data with the original data stored locally to render the updated information.
The applications delivery system, carefully manages all relevant data stored
in memory as directed by the compression policy to avoid out-of-data content
and prevent different versions of the same applications data from being served
to applications users. The administrator in the system can set flexible thresholds
that will store new applications data when the computed difference exceeds a
certain level. This optimises the performance of the compression engine and
ensures the fastest possible applications delivery.
The compression technology accelerates delivery of common text-based applications
data such as tabular report information and standard HTML content and yields
the best results for data that change moderately over time or per user request.
This new technology offers powerful performance benefits for all users, especially
those on limited bandwidth links.
An integral component
This breakthrough innovation is a fully integrated
component of a comprehensive solution that optimises and accelerates
all aspects of applications delivery. The innovative approach to
HTTP compression complements and works in unison with many acceleration
technologies such as SSL offload, static and dynamic content caching,
client and server-side TCP optimisations and standards-based Gzip
compression.
The advanced compression solution is particularly powerful when deployed as
part of a comprehensive applications delivery system with complementary technology
like caching which caches static and dynamic application content in system memory
and serves it directly to clients. While the compression capabilities address
the delivery of dynamically-generated HTTP content, the caching engine relieves
the applications infrastructure from repetitively generating identical applications
data. Applications compression combined with other path-breaking technologies
represents some of the efficient methods of applications delivery today and
is a vital part of any business environment.
Rakesh Singh is General Manager,
Asia Operations, Application Networking Group, Citrix Systems.
He can be reached at rakesh.singh@citrix.com
|