Difference between revisions of "Performance"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
Line 28: Line 28:
 
* '''six''' VMs/CTs (which needed to load server CPU - see testcases) configured with 4vCPU 1GB RAM
 
* '''six''' VMs/CTs (which needed to load server CPU - see testcases) configured with 4vCPU 1GB RAM
 
* netperf run string:
 
* netperf run string:
** in VM/CT; netperf -p 30300
+
** in VM/CT; netserver -p 30300
 
** on the client: netperf -p 30300 -H 172.0.1.1 -t TCP_RR -l 120 -- -r 128 -s 128
 
** on the client: netperf -p 30300 -H 172.0.1.1 -t TCP_RR -l 120 -- -r 128 -s 128
 
* Firewall was turned off
 
* Firewall was turned off
Line 39: Line 39:
  
 
'''In all the three cases (idle system and idle VM/CT, busy system and idle VM/CT, busy system and busy VM/CT) Virtuozzo Containers show the lowest overhead over all the tested virtualization solutions'''
 
'''In all the three cases (idle system and idle VM/CT, busy system and idle VM/CT, busy system and busy VM/CT) Virtuozzo Containers show the lowest overhead over all the tested virtualization solutions'''
 +
 +
 +
== 10 Gbit Network Throughput ==
 +
 +
=== Benchmark Description ===
 +
 +
In this benchmark we measure throughput over 10 Gbit network connection in two directions:
 +
* from VM/CT to physical client
 +
* from physical client to VM/CT
 +
 +
 +
=== Implementation ===
 +
 +
To measure network throughput we use standard performance test '''netperf'''. Host with VM/CT and physical client connected are interconnected directly (without switches, etc.)
 +
 +
=== Testbed Configuration ===
 +
Server: 4xHexCore Intel Xeon (2.66 GHz), 32 GB RAM, Intel 82598EB 10-Gigabit network card
 +
 +
Client: 4xHexCore Intel Xeon (2.136 GHz), 32 GB RAM, Intel 82598EB 10-Gigabit network card
 +
 +
Network: 10Gbit direct server<>client optical connection
 +
 +
Virtualization Software: ESXi4.1upd1, XenServer5.6fp1, HyperV (R2), PVC 4.7 (RH6) 2.6.32-042test006.1.x86_64
 +
 +
Guest OS: Centos 5.5 x86_64
 +
 +
Software and Tunings:
 +
* netperf v2.4.5
 +
* '''one''' VM/CT with netperf in server mode configured with 1 vCPU, 1 GB RAM
 +
* where it was possible, we set offloading & hardware checksumming (gro, gso,etc...) and jumbo frames (MTU=9000) features
 +
* netperf run string:
 +
** Server: netserver -p PORT (5 instances)
 +
** Client: netperf -p PORT -HOST -t TCP_SENDFILE -l 300 (several instanes)
 +
* Firewall was turned off
 +
* All other tunings were left at default values
 +
 +
=== Benchmark Results ===
 +
 +
[[File:10gbit_throughput.png]]
 +
 +
=== Summary ===
 +
* Parallels Virtuozzo Containers support near native 10Gbit network throughput: 9.70Gbit in receive and 9.87Gbit in send tests
 +
* Parallels Virtuozzo Containers shows the best network throughput over all the solutions tested
 +
* In Receive performance test (physical client-> VM/CT) Parallels Virtuozzo Containers shows great benefits over hypervisors: x2 Times faster than ESXi4.1 and x5 Times faster than XenServer5.6

Revision as of 13:50, 21 March 2011

Response Time

Benchmark Description

The aim of this benchmark is to measure how fast can application inside of virtual machine (VM) or operating system container (CT) react on external request under various conditions:

  • Idle system and idle VM/CT
  • Busy system and idle VM/CT
  • Busy system and busy VM/CT

Described benchmark case is common for many latency sensitive real life workloads. For example: high performance computing, image processing and rendering, web and database servers and so on.

Implementation

To measure response time we use well known netperf TCP_RR test. To emulate busy VM/CT we run CPU eater program (busyloop) inside of it. To emulate busy system we run several busy VM/CT (to eat all the host CPU time). Netperf runs in server mode inside of one VM/CT. On the separate physical host we run netperf TCP_RR test against selected VM/CT over the 1Gbit network.

Testbed Configuration

Server: 4xHexCore Intel Xeon (2.66 GHz), 32 GB RAM

Client: 4xHexCore Intel Xeon (2.136 GHz), 32 GB RAM

Network: 1Gbit direct server<>client connection

Virtualization Software: ESXi4.1upd1, XenServer5.6fp1, HyperV (R2), PVC 4.7 (RH6) 2.6.32-042test006.1.x86_64

Guest OS: Centos 5.5 x86_64

Software and Tunings:

  • netperf v2.4.5
  • one VM/CT with netperf in server mode configured with 1 vCPU, 1 GB RAM
  • six VMs/CTs (which needed to load server CPU - see testcases) configured with 4vCPU 1GB RAM
  • netperf run string:
    • in VM/CT; netserver -p 30300
    • on the client: netperf -p 30300 -H 172.0.1.1 -t TCP_RR -l 120 -- -r 128 -s 128
  • Firewall was turned off
  • All other tunings were left at default values.

Benchmark Results

Response time.png


In all the three cases (idle system and idle VM/CT, busy system and idle VM/CT, busy system and busy VM/CT) Virtuozzo Containers show the lowest overhead over all the tested virtualization solutions


10 Gbit Network Throughput

Benchmark Description

In this benchmark we measure throughput over 10 Gbit network connection in two directions:

  • from VM/CT to physical client
  • from physical client to VM/CT


Implementation

To measure network throughput we use standard performance test netperf. Host with VM/CT and physical client connected are interconnected directly (without switches, etc.)

Testbed Configuration

Server: 4xHexCore Intel Xeon (2.66 GHz), 32 GB RAM, Intel 82598EB 10-Gigabit network card

Client: 4xHexCore Intel Xeon (2.136 GHz), 32 GB RAM, Intel 82598EB 10-Gigabit network card

Network: 10Gbit direct server<>client optical connection

Virtualization Software: ESXi4.1upd1, XenServer5.6fp1, HyperV (R2), PVC 4.7 (RH6) 2.6.32-042test006.1.x86_64

Guest OS: Centos 5.5 x86_64

Software and Tunings:

  • netperf v2.4.5
  • one VM/CT with netperf in server mode configured with 1 vCPU, 1 GB RAM
  • where it was possible, we set offloading & hardware checksumming (gro, gso,etc...) and jumbo frames (MTU=9000) features
  • netperf run string:
    • Server: netserver -p PORT (5 instances)
    • Client: netperf -p PORT -HOST -t TCP_SENDFILE -l 300 (several instanes)
  • Firewall was turned off
  • All other tunings were left at default values

Benchmark Results

10gbit throughput.png

Summary

* Parallels Virtuozzo Containers support near native 10Gbit network throughput: 9.70Gbit in receive and 9.87Gbit in send tests
* Parallels Virtuozzo Containers shows the best network throughput over all the solutions tested
* In Receive performance test (physical client-> VM/CT) Parallels Virtuozzo Containers shows great benefits over hypervisors: x2 Times faster than ESXi4.1 and x5 Times faster than XenServer5.6