Why ZXTM #3: Faster, more responsive applications

"700% improvement in application response times... we can measure a 400% improvement in performance... we’ve measured nearly a 600% increase in transactions serviced on the same hardware!"

How does adding ZXTM to your application delivery infrastructure produce these performance gains? In this article, we’ll describe some of the technologies in ZXTM that extract more performance, responsiveness and capacity from your networked applications.

Application Performance Problems

What is ZXTM? Read more...
What is ZXTM?
Read more...

Despite days or weeks of planning, testing and benchmarking, why do so many networked applications fail to deliver when they are deployed in the wild?

One of the reasons is that there’s a fundamental difference between the performance of applications in a benchmark environment compared to their behavior on the open Internet. An Apache server that can service over 7,000 transactions per second over a local network may fall to less than 700 (or less) over a high-latency intercontinental WAN.

Furthermore, applications are put under additional processing loads that they are not designed or optimized to take. Tasks like SSL decryption, content compression, XML formatting, and connection scheduling each reduce the resource available for application logic, reducing the capacity and efficiency of the application.

ZXTM can be placed in front of a cluster of application servers. By handling slow connections, optimizing HTTP traffic and offloading and caching processing load on behalf of the application, ZXTM puts the servers into the environment where they perform best. Services can be delivered more quickly, they will be more responsive, and you can get more capacity from your hardware and application software.

Technique 1: TCP Offload

ZXTM manages client-side connections independently from server-side ones. No matter how slowly a client reads and writes data, ZXTM ensures that a server only ever has to communicate over a fast, local network. Transactions are completed rapidly, quickly releasing the resources on the server for other tasks.


"Since implementing the solution we have experienced a much better response time from our applications, especially in the handling of slow end user connections."

Torsten Sturm, CTO, Hotel.de (read more...)

Technique 2: HTTP optimizations

ZXTM is not a layer-4 or layer-7 load balancer with some HTTP knowledge layered on top. It was designed from layer-7 down, sharing HTTP processing with the record-breaking Zeus Web Server, and ZXTM every possible advantage of the flexibility of HTTP to optimize the traffic the server sees.

Incoming HTTP connections are funneled down a small number of fast keepalive channels to minimize the simultaneous connections each server manages. Performance features in HTTP/1.1 like pipelining, chunking and compression are fully understood. Idle keepalive connections to the servers are kept ready for reuse, but are carefully managed to minimize the resources they reserve.


"ZXTM has dramatically improved our web browsing and booking response times."

Robin Fitton, Head of IT Operations, Virgin Holidays (read more...)

Many application servers scale very poorly with large numbers of connections, and with a fixed concurrency limit they may even lock additional connections out until existing connections complete. The Apache Web Server and applications running on Apache are prone to this.


"The performance of ZXTM over our Apache reverse-caching proxy servers is phenomenal; we’ve measured nearly a 600% increase in transactions serviced on the same hardware!"

Christopher Shumway, Systems Administrator, GreatSchools (read more...)

Technique 3: Performance-sensitive load balancing

It’s easy to overlook the effect of the load balancing method in increasing the performance of applications.

ZXTM offers a range of load balancing methods. For example, "least connections" is appropriate for slow transactions on servers with limited concurrency (Ruby on Rails perhaps), and "fastest response time" is suitable for rapid transactions such as image or static content serving. The "Perceptive" load balancing method uses both methods and finds an optimum balance based on the request and response profile.

For maximum control, you can classify the different types of request you handle, using a different load balancing method for each.

Technique 4: Offloading SSL, Compression and XML processing

SSL processing is the most CPU intensive task that many application servers face, reducing performance by a factor of 10 or more. Many organizations compromize by limiting SSL to login pages or mixing HTTPS and HTTP content (1, 2) in order to reduce the amount of SSL traffic they process.

ZXTM’s SSL and TLS implementation gets over 2,000 SSL new transactions per second from each processor core in modern x86 systems (3). ZXTM can perform the SSL operations on behalf of the servers, releasing resources so they can handle more application transactions.

Content Compression and XML processing can also be offloaded from the servers onto the optimized implementations on ZXTM.

Technique 5: Content Caching

ZXTM’s content caching capabilities give you the final solution to offload processing tasks from your application servers.

Even dynamic content can be cached in some cases by ZXTM. The 'cache key' value allows you to cache multiple versions of the same content. For example, if you have different content for local users and remote users, or if you embed the username of a logged-in user into each page, you can cache these customized pages and ensure that each user receives the correct version from the content cache.

Bringing it all together

What is the net effect of all of these capabilities?


"Since ZXTM was deployed, there has been a major improvement to the performance and response times of the site."

David Turner, Systems Architect, PLAY.COM (read more...)


"With ZXTM we effortlessly achieved between 10-40 times improvement in performance over the application working alone."

Steve Broadhead, BroadBand Testing (read more...)


"Zeus has allowed us to dramatically improve the performance and reliability of the TakingITGlobal website, effectively managing three times as much traffic without any extra burden."

Michael Furdyk, Director of Technology, TakingITGlobal (read more...)


"The performance improvements were immediately obvious for both our users and to our monitoring systems – on some systems, we can measure a 400% improvement in performance."

Philip Jensen, IT Section Manager, Sonofon (read more...)


"700% improvement in application response times… The real challenge was to maximize existing resources, rather than having to continually add new servers."

Kent Wright, Systems Administrator, QuantumMail (read more...)

Read more.

Try it out

Try ZXTM – it’s just a download away. The quickest way to start is our "Desktop Edition". You can run it directly on a Windows or Linux system and get going within a couple of minutes.

If you would like to conduct some performance testing, you can request a download of the full ZXTM software. The Benchmarking Guidelines document describes some real-world experience that will help you create and conduct accurate, reproducible and representative performance tests.

Owen Garrett [Zeus Dev Team] 20 March 2008  Permalink 1 comment  

Comments:

This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.

Comment from: ricardo rosales [Visitor] · http://ricky
i need application
Permalink 06 May 2008 @ 01:13
Leave a comment ...
Your email address will not be displayed.
Your URL will be displayed.
This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.
Options:
 
(Line breaks become <br />)
(Set cookies for name, email & url)
Download Free ZXTM Desktop Edition

Recent Articles

Other Resources



www.zeus.com