vSwitch Performance Testing

| Friday, November 20th, 2009 | No Comments »

I thought it would be a good idea to do a little vSwitch performance testing with VMware’s latest vSphere 4.0. Ever wanted to know how a real physical WindowsXP PC transfer rates would compare to a virtualized WindowsXP?
How about from a virtualized WinXP to another virtualized WinXP on a different ESXi host?
How about from a virtualized WinXP to another virtualized WinXP on the same host? etc etc…

First things first. To be fair, all testing is done with WindowsXP Professional 32-bit.
That’s our baseline OS. Also, all tests are performed 3x times so that we can get a general idea of the numbers we are receiving.

Anything that has a (P) means it’s an OS running directly on a physical machine. (HP ProLiant DL320)
Anything that has a (VM) means it’s a guest OS running within a virtualized machine. (HP ProLiant DL360) <– Our ESXi 4.0 host

All devices are utilizing 1GigE NIC’s.

I am going to test 6 scenarios and include as much documentation as possible that relates to this testing.

Scenario 1: WindowsXP (P) –> Cisco Switch (P) –> WindowsXP (P).
Scenario 2: WindowsXP (VM) –> Cisco Switch (P) –> WindowsXP (VM).
Scenario 3: WindowsXP (VM) –> Cisco Switch (P) –> WindowsXP (P).
Scenario 4: WindowsXP (VM) to WindowsXP (VM).  (same ESXi host).
Scenario 5: WindowsXP (P) to itself. (local testing acting as both server and client).
Scenario 6: WindowsXP (VM) to itself. (local testing acting as both server and client).

Here’s our basic setup.
(Thanks to Faris Asmar at Cynertek Consulting for the visio diagram)

In order to do the test. I used an application called Iperf. Thanks to Dave Mishchenko over at vm-help.com for introducing me to this utility.
It basically helps you to gauge network traffic without utilizing your disk. This helps to avoid any disk bottlenecks that can affect your performance testing.

Scenario 1: WindowsXP (P) –> Cisco Switch (P) –> WindowsXP (P).

Here we test 2 physical WindowsXP machines with one another going over the wire(Cisco Switch). We then reverse the test since the two servers have different processors.

This test resulted in an average transfer of 8.23 GBytes at speeds of 705.6 Mbits/sec.

192.168.2.41 (client) connecting to 192.168.2.40 (server)

Scenario 1A(reverse): WindowsXP (P) –> Cisco Switch (P) –> WindowsXP (P).

This test resulted in an average transfer of 4.56 GBytes at speeds of 392.0 Mbits/sec.

192.168.2.40 (client) connecting to 192.168.2.41 (server)

*Observations* – Notice that when in reverse, the numbers are almost cut in half. Why? Well the server (192.168.2.41) has a much better processor.
Dual-core Xeon 1.86GHz to be exact. So the CPU overhead is clearly seen between the (.41) server and the (.40) server.
The (.40) server is running a Dual-core Pentium D. Remember, we ran both tests, 3x times!


Scenario 2: WindowsXP (VM) –> Cisco Switch (P) –> WindowsXP (VM).

Here we test (1) WindowsXP guest OS on a dedicated ESXi 4.0 host to another (1) WindowsXP guest OS on a dedicated ESXi 4.0 host, going over
the wire. (Cisco Switch)

This test resulted in an average transfer of 2.89 GBytes at speeds of 249.0 Mbits/sec.

192.168.2.61 (client) connecting to 192.168.2.51 (server)


Scenario 2A(reverse):
WindowsXP (VM) –>
Cisco Switch (P) –> WindowsXP (VM).

This test resulted in an average transfer of 2.91 GBytes at speeds of 250.0 Mbits/sec.

192.168.2.51 (client) connecting to 192.168.2.61 (server)

*Observations* – Notice that the average numbers for both tests are practically identical. That’s because both ESXi 4.0 servers are identical in hardware.

The chart:

Scenario 3: WindowsXP (P) –> Cisco Switch (P) –> WindowsXP (VM).

Here we test a physical WindowsXP transferring data over the wire (Cisco Switch) to a  WindowsXP guest OS on a dedicated ESXi 4.0 host

This test resulted in an average transfer of 3.30 GBytes at speeds of 284.0 Mbits/sec.

192.168.2.41 (client) connecting to 192.168.2.51 (server)


Scenario 3A(reverse):
WindowsXP (VM) –> Cisco Switch (P) –> WindowsXP (P).

This test resulted in an average transfer of 3.60 GBytes at speeds of 309.33 Mbits/sec.

192.168.2.51 (client) connecting to 192.168.2.41 (server)

*Observations* – These numbers are very interesting. It shows that VMware actually has better performance when connecting to a physical server.

The chart:

Scenario 4: WindowsXP (VM) to WindowsXP (VM).  (same ESXi host).

Here we test a WindowsXP guest OS on the same ESXi 4.0 host with another WindowsXP guest OS on the same host. We want to compare the data between
the vSwitch and the Cisco Switch.

This test resulted in an average transfer of 3.66 GBytes at speeds of 314.0 Mbits/sec.

192.168.2.52 (client) connecting to 192.168.2.51 (server)


Scenario 4A(reverse): WindowsXP (VM) to WindowsXP (VM).  (same ESXi host).

This test resulted in an average transfer of 3.93 GBytes at speeds of 337.66 Mbits/sec.

192.168.2.51 (client) connecting to 192.168.2.52 (server)

*Observations* – These numbers are very interesting. The reversed testing shows better performance, eventhough the Windows is on the SAME ESXi 4.0 host
and the other WindowsXP it’s connecting to. Same build, same everything.

The chart:

Scenario 5: WindowsXP (P) local testing to itself.

Here we set the physical WindowsXP to be the client and server. Thus connecting to itself, avoiding the wire altogether. In theory, this should provide the
best results you can get. Look at the numbers  below:

This test resulted in an average transfer of 17.5 GBytes at speeds of 1.50 Gbits/sec.

192.168.2.41 (client and server)

This test resulted in an average transfer of 9.82 GBytes at speeds of 843 Mbits/sec.

192.168.2.40 (client and server)


*Observations* – These numbers are very different. Again, almost half, just like in scenario 1. That’s because once again, the (.40) server is a Pentium D
while the (.41) is a Xeon

Scenario 6: WindowsXP (VM) local testing to itself.

This test resulted in an average transfer of 2.10 GBytes at speeds of 180 Mbits/sec.

192.168.2.61 (client and server)

This test resulted in an average transfer of 2.20 GBytes at speeds of 189 Mbits/sec.

192.168.2.51 (client and server)

*Observations* – These numbers are very similar and it makes sense. Even though they are on different hosts, the hosts themselves have  identical in hardware.

Here are the comparisons.

*Observations* – Notice the top number 17.5Gbytes and the two lower numbers 2.03/2.15GBytes. There is approx. 88% loss in performance!
That’s HUGE!

Test Assumptions:

  • All VM’s utilized thick disks(zeroed thick).
  • Transfer protocol is TCP using default window size of 8KB.
  • No software firewall enabled.
  • Cisco switch is 2960G with switchports set to 1000 full duplex.
  • All Iperf tests were set at 100 seconds.
  • Windows system restore feature turned off.
  • VM NIC’s set to auto-neg and flexible type.
  • No NIC teaming or load balanced used.

Servers (4)

(1) HP ProLiant DL320 (
Windows XP (P) )
Processors: Dual-Core Intel Pentium D processors @ 3.00GHz with VT
Memory: 6GB RAM
NIC: Dual Broadcom 1GigE

(1) HP ProLiant DL320 (Windows XP (P) )
Processors: Dual-Core Intel Xeon processors @ 1.86GHz with VT
Memory: 6GB RAM
NIC: Dual Broadcom
1GigE

(2) HP ProLiant DL360 (ESXi 4.0)
Processors: Dual Intel Xeon processors @ 3.00GHz with hyperthreading
Memory: 4GB RAM
NIC: Dual Broadcom 1GigE


Share