Zevenet EE 4.x Performance Benchmark www.zevenet.com
Performance Benchmark Zevenet EE 4.x January, 2017 Content Table 1. Benchmark Scenario 2. Benchmark Cases 2.1. L4xNAT Profile 2.2. HTTP Profile with HTTP Listener 2.3. HTTP Profile with HTTPS Offload Listener 3. Results Summary / 1
1. Benchmark Scenario The scenario is created with 2 connected networks using the ZNA hardware Appliance with the latest Zevenet Enterprise Edition 4.x package optimized for ZNA EE 3300. The networking environment is: 1. Service Network: 172.16.1.0/24 a. Eth1: 172.16.1.1 in ZNA Virtual Services b. Clients: 172.16.1.0/24 2. Backends Network: 172.16.2.0/24 a. Eth2: 172.16.2.1 in ZNA b. Backends: 172.16.2.0/24 The ZNA appliance provides a Zevenet EE 4.1.7 version with a CPU Intel Core i5 660 (2 cores with HT) 3.33G and 4 GB of RAM DDR3. / 2
The client and backends host limits haven't been reached during the benchmarking tests. The client stress application used was 'wrk' which is a HTTP benchmarking tool that generates heavy HTTP and HTTPS requests against the listening service of the load balancer. The backends were configured with a simple nginx web service that received the client requests and responded an empty web page (0 bytes of html body and 233 bytes in HTTP headers). 2. Benchmark Cases 2.1. L4xNAT Profile Farm Configuration in Zevenet Farm Profile Configured parameters L4xNAT Farm Virtual IP: 172.16.1.1 Virtual Port: 80 Protocol: TCP NAT Type: snat Command executed in the client root@client:/#./wrk -d30 -t10 -c360 http://172.16.1.1/ The execution time was 30 secs long and simulates 10 threads with a concurrency of 360 each, the result is shown below: Running 30s test @ http://172.16.1.1/ 10 threads and 360 connections Thread Stats Avg Stdev Max +/- Stdev Latency 2.98ms 9.13ms 226.61ms 95.51% Req/Sec 26.92k 6.40k 58.56k 70.65% 7986968 requests in 30.10s, 1.73GB read Requests/sec: 265387.32 Transfer/sec: 58.96MB / 3
CPU usage in ZNA While the test was running, the CPU in the ZNA was used as follows: As it's shown above, all CPUs reached an average of 28% and were moving more than 265,000 request per seconds, HTTP requests are managed smoothly. 2.2. HTTP Profile with HTTP Listener Farm Configuration in Zevenet Farm Profile HTTP Configured parameters Farm Virtual IP: 172.16.1.1 Virtual Port: 80 Number of working threads: 2,000 Farm Listener: HTTP Command executed in the client root@client:/#./wrk -d30 -t10 -c360 http://172.16.1.1/ The execution time was 30 secs long and simulates 10 threads with a concurrency of 360 each, the result is shown below: / 4
Running 30s test @ http://172.16.1.1 10 threads and 360 connections Thread Stats Avg Stdev Max +/- Stdev Latency 26.96ms 26.58ms 681.01ms 91.49% Req/Sec 1.45k 538.42 10.41k 73.15% 431308 requests in 30.10s, 95.82MB read Requests/sec: 14329.43 Transfer/sec: 3.18MB CPU usage in ZNA While the test is running, the CPU in the ZNA is used as follows: As it's show, all CPUs of ZNA reach the 100% of usage but the HTTP requests are managed smoothly. 2.3. HTTP Profile with HTTPS Offload Listener Farm Configuration in Zevenet Farm Profile HTTP Configured parameters Farm Virtual IP: 172.16.1.1 Virtual Port: 443 Number of working threads: 2,000 Farm Listener: HTTPS Ciphers: High Security / 5
Command executed in the client root@client:/#./wrk -d30 -t10 -c360 https://172.16.1.1/ The execution time is 30 secs and simulates 10 threads with a concurrency of 360, the output result is shown below: Running 30s test @ https://172.16.1.1/ 10 threads and 360 connections Thread Stats Avg Stdev Max +/- Stdev Latency 31.25ms 26.22ms 457.78ms 61.57% Req/Sec 1.25k 374.61 3.39k 76.81% 371846 requests in 30.02s, 98.57MB read Requests/sec: 12388.38 Transfer/sec: 3.28MB CPU usage in ZNA While the test is running, the CPU in the ZNA is used as follows: As it's show, all CPUs of ZNA reach the 100% of usage but the SSL requests are managed smoothly. / 6
3. Results Summary The following shows the performance benchmark results for all cases over the ZNA hardware appliance and web traffic: Farm Profile Requests in 30s Requests per second Avg Latency Estimated HTTP users handled per second** L4 xnat* 7,986,968 265,387 2.98ms 10,615,480 HTTP 431,308 14,329 26.96ms 143,290 HTTPS 371,846 12,388 31.25ms 123,880 * CPU was never saturated (~25%) ** 1 RPS is able to simulate 10 concurrent users To sum up, in the table above we can see how the ZNA load balancer is able to manage more than 265k request per second with a L4xNAT profile using just the 25% of the CPU performance. With such performance, the L4xNAT is able to handle more than 10.6 millions of web users per second. The performance reached with a HTTP farm profile is able to handle more than 143 thousands of web users per second and near 124 thousands of web users per second with high security ciphers in HTTPS layer. / 7