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 ProblemsDespite 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 OffloadZXTM 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.
Torsten Sturm, CTO, Hotel.de (read more...) Technique 2: HTTP optimizationsZXTM 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.
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.
Christopher Shumway, Systems Administrator, GreatSchools (read more...) Technique 3: Performance-sensitive load balancingIt’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 processingSSL 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 CachingZXTM’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 togetherWhat is the net effect of all of these capabilities?
David Turner, Systems Architect, PLAY.COM (read more...)
Steve Broadhead, BroadBand Testing (read more...)
Michael Furdyk, Director of Technology, TakingITGlobal (read more...)
Philip Jensen, IT Section Manager, Sonofon (read more...)
Kent Wright, Systems Administrator, QuantumMail (read more...) Try it outTry 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
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. Leave a comment ... |
Recent Articles
Other Resources
|



