Zeus ZXTM and Apache Web Server. A Broadband-Testing & Zeus Performance Study



Similar documents
ZXTM (Zeus Extensible Traffic Manager) In Virtual Mode With Microsoft Virtual Server

ZXTM (Zeus Extensible Traffic Manager) In Virtual Mode With VMware Server

4 Delivers over 20,000 SSL connections per second (cps), which

jetnexus Accelerating Load Balancer Extreme (ALB-X) 2.0 Features Update Report

Stingray Traffic Manager Sizing Guide

Cisco Application Networking for IBM WebSphere

Zeus Extensible Traffic Manager in Virtualized Hosting Environments.

Frequently Asked Questions

Cisco Application Networking for BEA WebLogic

F5 Networks V9 Performance Report

Zeus Traffic Manager VA Performance on vsphere 4

NetIQ Access Manager 4.1

Cisco ACE 4710 Application Control Engine

Cisco Application Networking for Citrix Presentation Server

The Evolution of Application Acceleration:

Internet Explorer Exploit Protection ENTERPRISE BRIEFING REPORT

The Application Front End Understanding Next-Generation Load Balancing Appliances

White Paper A10 Thunder and AX Series Load Balancing Security Gateways

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

SharePoint Performance Optimization

bbc Adobe LiveCycle Data Services Using the F5 BIG-IP LTM Introduction APPLIES TO CONTENTS

LOAD BALANCING IN THE MODERN DATA CENTER WITH BARRACUDA LOAD BALANCER FDC T740

ZEN NETWORKS 3300 PERFORMANCE BENCHMARK SOFINTEL IT ENGINEERING, S.L.

Riverbed Stingray Traffic Manager VA Performance on vsphere 4 WHITE PAPER

SSL Performance Problems

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

Windows Server Performance Monitoring

AppDirector Load balancing IBM Websphere and AppXcel

jetnexus V4 Release Features Update Report

Load Balancing Security Gateways WHITE PAPER

- An Essential Building Block for Stable and Reliable Compute Clusters

A TECHNICAL REVIEW OF CACHING TECHNOLOGIES

technical brief Optimizing Performance in HP Web Jetadmin Web Jetadmin Overview Performance HP Web Jetadmin CPU Utilization utilization.

jetnexus ALB-X 2.0 Performance Test

Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges. William Adams SAP AG

Application Performance Testing Basics

2013 Thomas Skybakmoen, Francisco Artes, Bob Walder, Ryan Liles

MAGENTO HOSTING Progressive Server Performance Improvements

Performance Tuning Guide for ECM 2.0

Quantum StorNext. Product Brief: Distributed LAN Client

SiteCelerate white paper

Key Components of WAN Optimization Controller Functionality

The Problem with TCP. Overcoming TCP s Drawbacks

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Advanced Core Operating System (ACOS): Experience the Performance

Load balancing Microsoft IAG

Deploying Microsoft SharePoint Services with Stingray Traffic Manager DEPLOYMENT GUIDE

Global Server Load Balancing

The Critical Role of an Application Delivery Controller

Summary of Results. NGINX SSL Performance

Steps to Migrating to a Private Cloud

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

Intel DPDK Boosts Server Appliance Performance White Paper

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

TEST METHODOLOGY. Hypervisors For x86 Virtualization. v1.0

How To Configure Apa Web Server For High Performance

Sun CoolThreads Servers and Zeus Technology Next-generation load balancing and application traffic management

Brocade Virtual Traffic Manager and Magento Deployment Guide

Technical Brief. DualNet with Teaming Advanced Networking. October 2006 TB _v02

Radware s AppDirector and AppXcel An Application Delivery solution for applications developed over BEA s Weblogic

Performance and scalability of a large OLTP workload

Netsweeper Whitepaper

HUAWEI OceanStor Load Balancing Technical White Paper. Issue 01. Date HUAWEI TECHNOLOGIES CO., LTD.

Top Ten Reasons for Deploying Oracle Virtual Networking in Your Data Center

WAN Optimization, Web Cache, Explicit Proxy, and WCCP. FortiOS Handbook v3 for FortiOS 4.0 MR3

WHITE PAPER Windows File Sharing (CIFS) Optimization

Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build

MS Exchange Server Acceleration

Mobile Performance Testing Approaches and Challenges

Infor Web UI Sizing and Deployment for a Thin Client Solution

PORTrockIT. Spectrum Protect : faster WAN replication and backups with PORTrockIT

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.

Cisco Integrated Services Routers Performance Overview

Secure SCADA Communication Protocol Performance Test Results

Brocade Virtual Traffic Manager and Microsoft IIS Deployment Guide

Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family

Auspex Support for Cisco Fast EtherChannel TM

A Superior Hardware Platform for Server Virtualization

Dell One Identity Manager Scalability and Performance

Comparing the Network Performance of Windows File Sharing Environments

TPC-W * : Benchmarking An Ecommerce Solution By Wayne D. Smith, Intel Corporation Revision 1.2

Load Balancing for Microsoft Office Communication Server 2007 Release 2

LOAD BALANCING AS A STRATEGY LEARNING TASK

Evaluation of Enterprise Data Protection using SEP Software

User Manual. Page 2 of 38

The Shortcut Guide to Balancing Storage Costs and Performance with Hybrid Storage

Accelerating Microsoft Exchange Servers with I/O Caching

Muse Server Sizing. 18 June Document Version Muse

Achieve Deeper Network Security

Product Brief. DC-Protect. Content based backup and recovery solution. By DATACENTERTECHNOLOGIES

Intel Network Builders: Lanner and Intel Building the Best Network Security Platforms

Load Balancing. Outlook Web Access. Web Mail Using Equalizer

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

Deploying in a Distributed Environment

Windows 8 SMB 2.2 File Sharing Performance

Transcription:

Zeus ZXTM and Web Server A Broadband-Testing & Zeus Performance Study

First published September 26 (V1.) Broadband-Testing La Calade, 117 Moux, France Tel : +33 ()4 68 43 99 7 Fax : +33 ()4 68 43 99 71 E-mail: info@broadband-testing.co.uk Web: http://www.broadband-testing.co.uk/ Zeus Technology Limited The Jeffreys Building Cowley Road Cambridge CB4 WS United Kingdom Sales: +44 ()1223 568555 Main: +44 ()1223 525 Fax: +44 ()1223 5251 Email: info@zeus.com Web: http://www.zeus.com/ All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the authors. Please note that access to or use of this Report is conditioned on the following: 1. The information in this Report is subject to change by Broadband-Testing without notice. 2. The information in this Report, at publication date, is believed by Broadband-Testing to be accurate and reliable, but is not guaranteed. All use of and reliance on this Report are at your sole risk. Broadband-Testing is not liable or responsible for any damages, losses or expenses arising from any error or omission in this Report. 3. NO WARRANTIES, EXPRESS OR IMPLIED ARE GIVEN BY Broadband-Testing. ALL IMPLIED WARRANTIES, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED AND EXCLUDED BY Broadband-Testing. IN NO EVENT SHALL Broadband-Testing BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL OR INDIRECT DAMAGES, OR FOR ANY LOSS OF PROFIT, REVENUE, DATA, COMPUTER PROGRAMS, OR OTHER ASSETS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 4. This Report does not constitute an endorsement, recommendation or guarantee of any of the products (hardware or software) tested or the hardware and software used in testing the products. The testing does not guarantee that there are no errors or defects in the products, or that the products will meet your expectations, requirements, needs or specifications, or that they will operate without interruption. 5. This Report does not imply any endorsement, sponsorship, affiliation or verification by or with any companies mentioned in this report. 6. All trademarks, service marks, and trade names used in this Report are the trademarks, service marks, and trade names of their respective owners, and no endorsement of, sponsorship of, affiliation with, or involvement in, any of the testing, this Report or Broadband-Testing is implied, nor should it be inferred. 2 ZEUS TECHNOLOGY LIMITED and BROADBAND-TESTING 1995-26

ZXTM and Web Server Improving Performance The Web Server is the Internet s most popular web server software, as a result of its maturity, free distribution and the enormous range of community-supported modules. It is deeply embedded into many organisations internet hosting infrastructures. However, has several performance limitations that can result in poor and uneven end-user service, inefficient resource utilisation and higher hardware and administration costs. This report investigates the performance limitations in the Web Server and describes, with detailed benchmarks, how Zeus ZXTM Traffic Management software can overcome these deficiencies. Key findings include: s Keepalive Implementation gives very inconsistent levels of service when under load. ZXTM can manage Keepalives on s behalf to give even and consistent levels of service. s performance when not using Keepalives is poor, with large error rates and low transaction rates. Using ZXTM with or without Keepalives totally eliminates errors, and results in an increase of up to 18-times the sustained transaction rate. s SSL performance is sub optimal, with slow transaction times, limited capacity and connection errors under load. Using ZXTM to decrypt SSL traffic provides up to 2-times the transaction rate and 2-times faster transactions, with no connection errors. performs very poorly on real-world high-latency networks. ZXTM almost totally eliminates the high-latency effects, giving up to 4-times better utilisation, and 8- times faster transaction times. What is ZXTM? Zeus ZXTM (Zeus Extensible Traffic Manager) operates at both Layer 4 (L4) load-balancing and Layer 7 (L7) intelligent traffic management levels and it is Ethernet-based but it is not a switch, or really any kind of Ethernet device per se, but effectively a server-based network appliance which is sold as software or an appliance. It therefore typically sits in front of the server farm, behind the Internet gateway, from where it conducts traffic management in a wide number of different ways, none of which simply involve throwing raw bandwidth at it. Being an appliance, rather than a switch, this means ZXTM works on a simple gateway principle one way in, one way out (though in practise this is likely to be multiple, trunked Gigabit NIC connections) sharing Gigabit Ethernet switch capacity with the server farm. With its multi-faceted redundancy configurations, it also means that huge clusters of distributed ZXTM devices can be created offering both extreme levels of performance and extreme levels of resilience (see later). ZXTMs feature set is extensive, covering intelligent load-balancing and every aspect of L7 traffic management: throughput, compression, data manipulation, security such as DoS protection server and application optimisation, migration tools The company has unashamedly looked at F5 as the market leader and sought to equal or better every element of its own products. The result is what would be a very comprehensive set of capabilities for a mature product, let alone a relatively new kid on the block. One excellent example of this attention to detail lies in ZXTMs TrafficScript feature for deep packet inspection and manipulation. This is quite simply the most comprehensive, rules-based methodology for traffic control available on anything we ve seen. So what ZXTM is all about is not throwing more bandwidth at the problem but, instead, throwing intelligence at it. Never mind the width, feel the quality as you might say ZEUS TECHNOLOGY LIMITED 3 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Test Background Broadband-Testing conducted a series of tests to investigate the performance profile of the server, and the effect of using a ZXTM 7 Appliance to accelerate transactions on the server. The tests evaluated 2..56 running on RedHat Enterprise Linux release 4. on Sunfire v2z servers with 2Gb memory and Opteron 244 processors. Tests conducted by Broadband-Testing used Spirent Avalanche test equipment and a single processor v2z server. Other tests in this report were conducted by Zeus Technology, using apachebench or zeusbench (an apachebench equivalent), with a dual-processor v2z server. Zeus gratefully acknowledges the assistance and expertise of the Broadband-Testing team who oversaw and validated many of the tests in this report. 4 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Key Finding 1: Uneven levels of Service under load The server gives very uneven levels of service under load. The following test used apachebench to load up an server with varying numbers of users, each with keepalive connections. A new user visited the site, and the transaction time and transaction rate the new user achieved was measured. New User Transaction Rate New User Transaction Time 3 3 25 2 15 1 5 1 2 3 4 Transaction Time (ms) 25 2 15 1 5 1 2 3 Current Users Current Users Once over 25 concurrency slots are occupied by site users, the service for additional visitors degrades very rapidly. Existing site users hog all the available resources. A ZXTM 7 Appliance was used to transparently manage the client keepalive connections and marshal them into a far smaller number of keepalive connections to the server. New User Transaction Rate New User Transaction Time 3 3 25 2 15 1 5 2 4 6 8 1 ZXTM 7 Transaction Time (ms) 25 2 15 1 5 2 4 6 8 1 ZXTM 7 Current Users Current Users ZXTM ensured that all site users obtained consistent performance and many more simultaneous site visitors could be sustained. It s possible to calculate the deviation from the average transaction rate that the new user experiences: Deviation from Average Transaction Rate 1.% 5.% Deviation.% -5.% ZXTM 7-1.% 2 4 6 8 1 Current Users s uneven distribution of service comes as a result of its limited per-thread or perprocess concurrency model. Many sites overcome it by disabling or restricting HTTP Keepalives, although this results in poorer overall performance. ZEUS TECHNOLOGY LIMITED 5 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Key Finding 2: s performance improved with ZXTM Disabling keepalives on results in poorer overall performance. Broadband-Testing used Spirent Avalanche clients to simulate varying numbers of users accessing the server. Sustained Transaction Rate (no keepalives) Error Rate (connect and response timeouts) 6 25% Transactions per second 5 4 3 2 1 Error Rate 2% 15% 1% 5% % 25 5 75 1 25 5 75 1 A ZXTM 7 Appliance was then used to manage and marshal the HTTP requests to the server: Sustained Transaction Rate (no keepalives) Error Rate (connect and response timeouts) 4 25% Transactions per second 35 3 25 2 15 1 5 25 5 75 1 ZXTM 7 Error Rate 2% 15% 1% 5% % 25 5 75 1 ZXTM 7 Without keepalives, ZXTM lifts the performance of the server dramatically. The previous finding indicated that it is safe to enable Keepalives with ZXTM, but not with. Nevertheless, the above test was repeated using Keepalives on both systems: Transaction Rate (using Keepalives) 45 4 35 3 25 2 15 1 5 5 1 ZXTM 7 Using Keepalives with ZXTM adds a further performance boost. Note that the server was the bottleneck in all these tests, running at between 9% and 1% CPU utilization. The ZXTM had ample spare capacity to load-balance traffic across a number of servers. 6 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Key Finding 3: Accelerating SSL transactions on server SSL is very processor intensive and puts a limit on the capacity of a web site or service. Broadband-Testing investigated s SSL performance, measuring the performance of SSL transactions by requesting 16 byte files with no SSL session reuse. The server was tested directly. CPU utilization consistently reached 1% in these tests, but the server became overloaded with more than 5 simultaneous users, processing transactions increasingly slowly. Sustained Transaction Rate - SSL Average Transaction Time - SSL 25 12 SSL Transactions per second 2 15 1 5 Transaction Time (ms) 1 8 6 4 2 2 4 6 8 1 2 4 6 8 1 Then a ZXTM 7 Appliance was used to transparently decrypt SSL traffic on behalf of the server, so that it processed unencrypted traffic only. Sustained Transaction Rate - SSL Average Transaction Time - SSL SSL Transactions per second 18 16 14 12 1 8 6 4 2 2 4 6 8 1 ZXTM 7 Transaction Time (ms) 12 1 8 6 4 2 2 4 6 8 1 ZXTM 7 During the tests, many of the connections to the server failed due to timeouts. When ZXTM was used to decrypt the connections, no failures were observed: Error Rate - SSL Error Rate 45% 4% 35% 3% 25% 2% 15% 1% 5% % 2 4 6 8 1 ZXTM 7 ZEUS TECHNOLOGY LIMITED 7 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Key Finding 4: Poor performance on high-latency networks The majority of benchmarks are conducted on fast, local networks, and can conceal problems apparent to any user accessing a site over a remote, high-latency network. This test used zeusbench and an intermediate device 1 to simulate different network conditions, and investigated the performance of (with and without keepalives): Client Network Gateway ZXTM (optional) Server performs poorly on high-latency networks: for various network latencies 8 6 4 2 1 2 3 4 Network Round Trip Time (ms) (no KA) (with KA) Network Round Trip Times ms Local Area Network 5 ms Local Regional Network 1 ms National Network 2 ms International Network 4 ms Intercontinental Network At high latency values, the server ran at no more than 8% CPU. Even though 5 concurrent connections were competing for service and the server had plenty of capacity, the latency effects meant that was unable to serve them. A ZXTM Appliance can manage the client connections on behalf of. In this case, the server behaves as if it were communicating on a fast, low-latency network. for various network latencies 8 6 4 2 1 2 3 4 Network Round Trip Time (ms) ZXTM 7 (no KA) (with KA) ZXTM can give consistent performance and can eliminate the latency effects that cause poor performance in. 1 A Linux gateway server running the Netem network emulation module. 8 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Analysis: How do Keepalives affect Levels of Service? HTTP Keepalives produce a much better end-user browsing experience, but the Web Server disables them by default because they cause performance problems. Why use HTTP Keepalives? The HTTP protocol sends a request using a TCP connection. HTTP Keepalives allows a web browser to reuse a TCP connection, sending a number of HTTP requests (for web pages, images, stylesheets and other resources) down the same connection. TCP connections take time to set up and tear down, and without Keepalives, a new TCP connection must be created for each resource on a web page. All modern web browsers support keepalives (and some also support pipelines within keepalives). The page load time and bandwidth usage benefits of Keepalives and Pipelines are well known 2,3,4,5. Analogy: A telephone conversation uses the equivalent of keepalives. It takes several seconds to set up a call dialling the number, waiting for the network and for the other party to pick up and a second or two to close the call. Without Keepalives, you could only speak once on your phone call. The other party would reply and then you would have to hang up. If you wanted to conduct a detailed transaction, or even just a conversation, it would be a slow and laborious process as you would have to hang up and redial between sentences. With Keepalives, the phone call can last as long as you need. You can speak as many times as you wish, and conversation (or transactions) are conducted with ease. Pipelines are a further development of keepalives, whereby the web client can issue several requests without having to wait for each reply in turn just as in a phone conversation, you may ask several questions in one sentence. Why not use Keepalives with? The server is not designed to handle Keepalives efficiently. The problem arises because the Server has a relatively low limit on the number of TCP connections ( slots ) that it can manage at any one time. Each Keepalive connection occupies one of these slots for up to 15 seconds (the default timeout). A slot corresponds to a process or thread, depending on whether uses its prefork (process) or worker (thread) multiprocessing module. The typical limit is 256 slots for prefork and 15 for worker, and it is generally unwise to configure a larger limit for stability reasons. All tests in this report used prefork because this is the common default and is the most stable and supported MPM. 2 http://www.mozilla.org/projects/netlib/http/pipelining-faq.html 3 http://www.w3.org/talks/97917http/httpsigcomm97-2.ppt 4 http://www.microsoft.com/technet/prodtechnol/windowsserver23/library/iis/e7b5b1a-5eac- 485f-8f-e4eaf6c3ba.mspx?mfr=true 5 http://www.microsoft.com/technet/technetmag/issues/25/11/pumpupperformance/default.aspx ZEUS TECHNOLOGY LIMITED 9 and BROADBAND-TESTING 1995-26

ZXTM and Web Server 1. Keepalives reduce performance An occupied slot takes up resources on the server machine, even if it is occupied by an idle Keepalive connection. In a live deployment, it is more efficient to disable Keepalives and take the hit of accepting and closing many TCP connections rather then to accept the cost of maintaining the many idle keepalive connections. 2. Keepalives give very uneven levels of service in If all of the available slots are occupied by active users or idle keepalive connections, there are no free slots for additional users. A new user s connection will be queued in the operating system s listen queue, and will not be serviced until an existing idle keepalive connection times out. During times of high load, there is a lot of contention for free slots as they become available. Once the listen queue fills, clients will receive connection refused errors, and connections in the listen queue may time out of they are not serviced quickly. New users will get very poor service, while users with existing keepalive connections will be able to reuse them and get good service. For this reason, Keepalives are commonly disabled by default in. The Software Foundation has implemented an experimental event MPM in 2.2 to cope with the keep alive problem 6 ; at the time of writing, this module is experimental, not available on 2..x, and incompatible with other features including SSL support. Keepalives may give Misleading Benchmarks Keepalives appear to dramatically improve the performance of an server. Using the apachebench tool against an Server on a two-processor SunFire v2z server, it s easy to fully load up the web server: Command Line Transactions/second CPU utilisation With Keepalives ab c 3 t 1 k 723 1% Without Keepalives ab c 3 t 1 556 7% Misleading benchmarks indicate good Keepalive performance These benchmark figures are misleading because they only report completed connections. Once the concurrency figure exceeds the number of slots, additional requests will never be served, so additional visitors to the site will have to wait in a queue until sufficient keepalive connections are closed. bench does not reveal this poor client experience. The first benchmark test in this report is designed to identify and measure this phenomenon. 6 http://httpd.apache.org/docs/2.2/mod/event.html 1 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Benchmarking The default apache configuration on a RedHat Enterprise Linux 4 system was used, with a 1kB response file. The default prefork MPM was used, with default settings: StartServers 8 ServerLimit 256 MinSpareServers 5 MaxClients 256 MaxSpareServers 2 MaxRequestsPerChild 4 Existing users with Keepalive connections were simulated by one apachebench run using various degrees of concurrency: ab c <num_users> n 1 k http://1.2.2.2/ After 15 seconds, a new user attempted to download content from the new server using a new Keepalive connection: ab c 1 t 6 k http://1.2.2.2/ The test measured the transaction rate (transactions per second) and transaction time that the user achieved over a 6-second period. Users: 25 5 75 1 125 15 175 2 225 25 275 3 325 TPS: 288 122 8. 46.7 31.6 27.6 19.2 16. 16.4 14.5 14.2 4.84.7 Time (ms): 3.47 8.17 12.5 21.4 31.7 36.3 52. 62.4 61. 69. 7.2 26 143 New User Transaction Rate New User Transaction Time 3 3 25 2 15 1 5 1 2 3 4 Transaction Time (ms) 25 2 15 1 5 1 2 3 Current Users Current Users For more than 325 users, no requests were processed for the additional user. There was a clear degradation of performance once the MaxClients limit was exceeded. Some Keepalives were recycled because established connections are closed by the server when the MaxRequestsPerChild limit is exceeded. When there was little contention for these additional slots, the new user was able to submit some requests. This explains why requests were processed at the 275 and 3 user level. ZEUS TECHNOLOGY LIMITED 11 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Benchmarking with ZXTM The test was then repeated, using ZXTM to front-end the server. No configuration changes were made to the Server, and the ZXTM accepted Keepalive connections from the clients. Users: 25 5 75 1 125 15 175 2 225 25 275 TPS: 3 141 96.4 68. 54.3 42.3 33.7 32.9 3.1 31.8 25.7 Time (ms): 3.33 7.11 1.4 14.7 18.4 23.7 29.7 3.4 33.3 31.4 39. Users: 3 325 35 4 45 5 6 7 8 9 1 TPS: 18.7 2.3 18.4 21.8 23.4 21.7 17.7 15.4 11.1 9.63 9.14 Time (ms): 53.4 49.2 54.2 45.8 42.8 46. 56.5 64.7 9.1 13 19 New User Transaction Rate 3 25 2 15 1 5 2 4 6 8 1 Current Users ZXTM 7 New User Transaction Time Transaction Time (ms) 3 25 2 15 1 5 2 4 6 8 1 Current Users ZXTM 7 ZXTM ensured that all site users obtained consistent performance over a very wide range of user numbers, and that many more simultaneous site visitors could be sustained. The results clearly illustrate how ZXTM can support many more Keepalive users than, giving better, consistent levels of service to all users. 12 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Analysis: Accelerating with ZXTM ZXTM functions as an application proxy, managing client side connections and maintaining shared server-side keepalive channels. It is capable of reducing hundreds of thousands of simultaneous client connections into a much smaller number of server keepalive connections. It was hypothesized that the ZXTM 7 Appliance could manage keepalive connections on behalf of the server to deliver better, more even performance. Broadband-Testing performed a number of tests to ascertain whether a ZXTM 7 Appliance could effectively accelerate servers. Broadband-Testing used Spirent Avalanche load generators to perform the tests, and Spirent software to collect and analyse the results. Testing ZXTM s Acceleration Benefits Without Keepalives The Spirent Avalanche clients were configured to simulate various numbers of users, each of whom repeatedly requested the 1k file. The clients did not request Keepalive connections. Sim. Users TPS (peak) TPS (average) Error Rate Time 25 474 378 2.71% 53 ms 5 937 541 3.77% 74 ms 75 128 57 7.12% 118 ms 1 835 217 21.89% 369 ms Performance The test was repeated, using ZXTM to accept the connections from the clients. ZXTM maintained a small set of keepalive connections to the server: Sim. Users TPS (peak) TPS (average) Error Rate Time 25 125 997.% 21 ms 5 354 315.% 127 ms 75 357 325.% 185 ms 1 367 341.% 234 ms ZXTM + performance The results show that ZXTM 7 is significantly more efficient at handling non-keepalive connections, translating these into efficient, managed keepalive connections that keep the server operating at peak performance. The ZXTM 7 never exceeded 2% CPU utilisation, whereas the server was fully utilised in all tests at 5 simultaneous users and above. s performance was particularly bursty and uneven, as evidenced by the large discrepancy between the peak and average transaction-per-second figures. ZEUS TECHNOLOGY LIMITED 13 and BROADBAND-TESTING 1995-26

ZXTM and Web Server With Keepalives Even when using Keepalives, ZXTM still helped the server perform more rapidly, more evenly and in a more stable manner: Sim. Users TPS (peak) TPS (average) Error Rate Time 5 349 226 1.33% 22 ms 1 389 146 5.32% 687 ms Performance with Keepalives Sim. Users TPS (peak) TPS (average) Error Rate Time 5 398 363.% 138 ms 1 41 394.4% 254 ms ZXTM + Performance with Keepalives Why does ZXTM perform better? s Heavyweight Thread/Process Architecture s prefork or worker multi-processing modules create an entire operating system thread or process for each individual connection the server is managing. This is an excessively heavyweight architecture as a thread or process consumes many more resources than the single connection. The architecture causes severe scalability problems when managing many connections. The server OS spends significant time housekeeping the hundreds of thread or processes, and its general purpose thread and processing scheduling algorithms are not optimised or specialised for simple scheduling based on network IO. Connection processing blocks frequently when the thread or process waits for network data, buffer space or TCP closes; each time, the operating system must them perform a heavyweight context switch so that it can process another connection. ZXTM s Lightweight Non-Blocking Architecture ZXTM s architecture scales with the concurrency of the host hardware. ZXTM runs a single process for each processing unit (core or processor). Each process is capable of managing many thousands of connections simultaneously, switching between them using the OS epoll system call. This architecture is commonly described as select-based, because many implementations use the select system call to inspect many connections and determine which can be processed without blocking; epoll is a more efficient and scalable version of select when inspecting large numbers of connections. 14 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Analysis: s SSL Performance SSL-offload devices can dramatically improve s performance SSL performance can be a limiting factor for many sites. Netcraft reported that some banks are shifting logins to non-ssl pages 7, compromising security for performance reasons. The SSL Alternatives s SSL implementation is based on a freely available open source cryptographic library. Several proprietary, commercial libraries are available which offer significantly higher performance; these libraries are not used in for commercial and licensing reasons. can be used with commercial SSL accelerator hardware, or with a specialised load balancer such as ZXTM that can decrypt traffic at a fast rate. If the second option is chosen, then the performance of is dramatically improved to the level achieved when processing plaintext (unencrypted) protocols. Testing s SSL Performance Broadband-Testing evaluated s SSL performance, with and without ZXTM. Two Spirent Avalanche clients simulated varying numbers of users requesting a 1k file from the Server, without any keepalives. The server used a 124 bit RSA private key; RC4 and MD5 were used in the domestic-strength SSL cipher: Sim. Users TPS (peak) TPS (average) Error Rate Time 25 233 227 4.42% 11 ms 5 229 23 8.61% 2175 ms 75 228 123 26.1% 685 ms 1 228 93 39.9% 1715 ms Performance ran at a consistent 1% CPU utilization during these tests. The test was repeated using ZXTM to accept and decrypt the client connections (again with a 124 bit RSA key and the same SSL ciphers). No keepalives were used. Sim. Users RPS (peak) RPS (average) Error Rate Time 25 27 146.% 172 ms 5 197 167.% 3 ms 75 214 168.% 447 ms 1 215 171.% 586 ms ZXTM + Performance 7 http://news.netcraft.com/archives/25/8/23/banks_shifting_logins_to_nonssl_pages.html ZEUS TECHNOLOGY LIMITED 15 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Analysis: High-latency Networks performs particularly poorly on high-latency networks. The vast majority of web browsing occurs over wide-area networks where latency is high. However, the vast majority of performance testing is conducted on local networks where latency is low. This testing fails to identify problems that are exacerbated by high-latency networks. Test Methodology The final test in this report used an apachebench-like tool ( zeusbench ) to simulate 5 remote users accessing an server, each requesting 1k files as quickly as possible. A Linux gateway running the Netem 8 Network Emulation module was used to simulate different network latencies. Client Network Gateway ZXTM (optional) Server The Netem module creates a queue for a network interface, delaying packets that enter that interface for a configured period. For example, to configure a round trip time of 1ms on the gateway machine, the incoming and outgoing interfaces each needed a delay of 5 ms: # tc qdisc add dev <interface> root netem delay 5ms limit 1 Network round trip times could be easily verified with ping. Testing was run on a 2-processor Opteron 244 server 9. It was tested with and without keepalives: for various network latencies 8 6 4 2 1 2 3 4 Network Round Trip Time (ms) (no KA) (with KA) 8 http://linux-net.osdl.org/index.php/netem 9 For comparison purposes, the previous Broadband Testing tests used a single-processor equivalent, so total TSP figures were lower. 16 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Network RTT 1 ms 2 ms 5 ms 1 ms 2 ms 4 ms TPS (no keepalives) 48 385 18 7 253 162 TPS (with keepalives) 711 72 474 225 18 536 transactions per second As the network round-trip-time increased, connection read, write and close operations all took longer. Consequently, each connection occupied a process slot for a longer period. At high latency values, the server ran at approximately 8% CPU. Even though 5 concurrent connections were competing for service and the server had plenty of spare capacity, the latency effects meant that was unable to serve them. In limited-concurrency architectures like s, the maximum rate at which new connections can be accepted is limited by the following quantity: Number of connection slots / total duration of each connection Adding more CPU capacity, memory or network bandwidth has little or no effect on this scalability limit. The key to improving the performance design such is to reduce the duration of each connection. Improving performance with ZXTM ZXTM was used to accept connections on s behalf and forward them to the server. From the server s perspective, the connection appears to originate from the local network, so latency effects are completely eliminated. As the results show, ZXTM is much more effective at managing large numbers of very slow connections. for various network latencies 8 6 4 2 1 2 3 4 Network Round Trip Time (ms) ZXTM 7 (no KA) (with KA) 1 Latency is measured in terms of the round-trip time (RTT). Empirical testing suggests that for 1k file transfers with no contention, connections last for 3-4 times the RTT for non-keepalive connections, and 1-1.5 times RTT for keepalive connections. Connections last significantly longer with contention. ZEUS TECHNOLOGY LIMITED 17 and BROADBAND-TESTING 1995-26

ZXTM and Web Server Network RTT ms 2 ms 5 ms 1 ms 2 ms 4 ms TPS (with keepalives) 683 686 64 628 67 578 ZXTM + transactions per second The server was the bottleneck in the first tests, running at or near 1% CPU. ZXTM was unable to drive it any faster. Across all latency values, ZXTM was able to accelerate to near its peak capacity running in the optimal low-latency environment. Using ZXTM s Content Caching ZXTM s Content Caching capability offloads the majority of HTTP transactions from the server. When Content Caching is enabled, even on high latency networks, it is possible to effectively utilise all the available bandwidth 11 : for various network latencies 12 1 8 6 4 2 1 2 3 4 Network Round Trip Time (ms) ZXTM 7 (caching) ZXTM 7 (no KA) (with KA) Network RTT ms 2 ms 5 ms 1 ms 2 ms 4 ms TPS (inc. content cache) 111 111 11 19 17 972 In this content cache test, the ZXTM served the 1kB responses from its internal cache, only querying the server periodically to ensure the cached content was accurate. In this case, the 1Gbits network was the bottleneck for the majority of the tests, and imposed a practical limit of just over 11 TPS. 11 Max transaction rate, allowing for 15% HTTP and IP overhead, is 114 transactions/second. 18 ZEUS TECHNOLOGY LIMITED 1995-26 and BROADBAND-TESTING 1995-26

ZXTM and Web Server About Broadband-Testing Broadband-Testing is Europe s foremost independent network testing facility and consultancy organisation for broadband and network infrastructure products. Based in the south of France, Broadband-Testing offers extensive labs, demo and conference facilities. From this base, Broadband-Testing provides a range of specialist IT, networking and development services to vendors and end-user organisations throughout Europe, SEAP and the United States. Broadband-Testing is an associate of the following: NSS Network Testing Laboratories (specialising in security product testing) Broadband Vantage (broadband consultancy group) Limbo Creatives (bespoke software development) Broadband-Testing Laboratories are available to vendors and end-users for fully independent testing of networking, communications and security hardware and software. Broadband-Testing Laboratories operates an Approval scheme which enables products to be short-listed for purchase by end-users, based on their successful approval. Output from the labs, including detailed research reports, articles and white papers on the latest network-related technologies, are made available free of charge on our web site at http://www.broadband-testing.co.uk. The conference centre in Moux in the south of France is the ideal location for sales training, general seminars and product launches, and Broadband-Testing can also provide technical writing services for sales, marketing and technical documentation, as well as documentation and test-house facilities for product development. Broadband-Testing Consultancy Services offers a range of network consultancy services including network design, strategy planning, Internet connectivity and product development assistance. About Zeus Technology Zeus Technology is leading innovation in application traffic management software. With over ten years' industry experience, the company has developed award-winning solutions that enable organisations to intelligently manage their applications, streamline operations and provide a seamless end-user experience. Web-enabled businesses rely on Zeus infrastructure products for reliability, scalability and security. Reshaping the market by taking an intelligent approach to application traffic management, Zeus Extensible Traffic Manager (ZXTM) makes your network and webenabled applications faster, more reliable, secure and easier to manage. Zeus holds strategic partnerships with world-class companies such as HP, IBM, Sun Microsystems, Intel, AMD, Qualcomm, Clarity Group and Redbus Interhouse, OpenPSL and jetnexus. Zeus customers include BT, Cable & Wireless, Document Systems Inc., ebay, Hotel.de, NEC BIGLOBE, Newport City Council, NOB Cross-Media Facilities, PLAY.COM, Federal Railroads Administration, The Institute of Financial Services, Virgin Holidays, The Planet, TD Waterhouse, Telewest, Verisign and We Energies. ZEUS TECHNOLOGY LIMITED 19 and BROADBAND-TESTING 1995-26