ESX 4.0 Performance

Let us see what these NICs can do in a virtualized environment. After some testing in ESX 4.1 we had to go back to ESX 4.0 u2 as there were lots of driver issues, and this surely was not the NIC vendors fault solely. Apparantly, VMDirectPath is broken in ESX 4.1, and a bug report has been filed: update 1 should take care of this.

We started NTttcp from the Windows 2008 node:

NTttcp –m 4,0, [ip number] -a 4 –t 120

On the “virtualized node”, we created four virtual machines with Windows 2008. Each VM gets four network load threads. In other words, there are 16 threads active, all sending network traffic through one NIC port.

The Intel chip delivered the highest throughput with 9.6 Gb/s, followed closely by the Solarflare (9.2 Gbit/s) and the Neterion X3100 (9.1 Gbit/s). The old Xframe-E was not capable of delivering more than 3.4 Gbit/s. The difference between the top three is hardly worth discussing: few people are going to notice a bandwidth increase of 5%. However, notice that the Neterion NIC is the one that load balances the traffic the fairest over the four VMs. All Virtual machines get the same bandwidth: about 2.2 to 2.3 Gbit/s. The Solarflare SF5122F and Intel 82598 are not that bad either: the lowest bandwidth was 1.8 Gbit/s. Bandwidth tests with the Ixia Chariot 5.4 test suite gave the same numbers. We also measured response times.

Again, the Neterion X3100 chip stands out with a low response time in all virtual machines. The Solarflare SF5122 drops a stitch here as one VM gets twice the amount of latency. Let us see how much CPU power these NICs needed while they round-robin the network traffic over to the virtual machines. This test was done on the Xeon E5504 (2GHz) and the Xeon X5670 (2.93GHz); Hyper-Threading was disabled on all CPUs.

Total CPU load, network load over 4 VMs

Nine gigabits of paravirtualized network traffic is enough to swamp the dual quad-core 2GHz Xeon CPU in most cases. Although it is one of slowest Xeons now available, it is still impressive that nothing less than eight of these cores are necessary just to run the benchmark and manage the network traffic. So be warned that these 10GbE NICs require some heavy CPU power. The Solarflare chip offers the low-end Xeon some breathing space, the Neterion chip needs the most for it’s almost perfect load balancing services.

But the Neterion chip has a secret weapon: it is the only NIC that can make virtual functions available in VMware ESX. Once you do this, the CPU load is a lot lower: we measured only 63%. This lower CPU load is accompagnied with a small dip in the network bandwidth: we achieved 8.1 Gbit/s instead of 9.1 Gbit/s.

Once we use one of the fastest Xeons available, the picture changes. The Intel and Neterion make better use of the extra cores and higher frequency.

Native Bandwidth: Windows Server 2008 Consolidation and Choking
Comments Locked

38 Comments

View All Comments

  • blosphere - Wednesday, November 24, 2010 - link

    Oh my cable arms on the first page pic :(

    And about the consolidation, you don't want to do it that way. The proper way is to have two 1-port 10g cards or if you're counting every dollar, one 2-port card. Then you set the production traffic to active/standby config (different vlans of course) and when configuring the vmotion/vkernel port you go and override the port failover order to reverse the port priority from the production traffic (own vlans of course).

    This way you utilise both ports on the cards and you have mediocre HA (not that vmware should be called a HA system in the first place) since the production would failover to the vmotion/vkernel port and vice versa.

    All this stuff is in the vmware/cisco whitepaper. Deployed already a few years ago to our datacentres worldwide, around 100 esxi hosts and 3000+ vm guests, works like charm when things start going wrong. Of course vmware itself does cause some problems in a port loss situation but that's a different story.
  • mino - Wednesday, November 24, 2010 - link

    Agreed, Agreed and again Agreed :).
  • Dadofamunky - Thursday, November 25, 2010 - link

    Two thumbs up for this.
  • DukeN - Wednesday, November 24, 2010 - link

    And what type of switch would actually have the switching capacity to push this type of traffic through in a dedicated manner? That is a cost to be considered.

    That being said, I think well priced FC might still be better from a CPU usage standpoint.
  • mino - Wednesday, November 24, 2010 - link

    FC is better at everything! Problem being, it is a "bit" more expensive.

    So for an SMB or storage IO light apps? 10G all the way.

    For an enterprise database stuff? Think about it very thouroughly before commiting to 10G. And even then,you better forget about iSCSI.

    Consolidating everything-ethernet info 2*10G ? Great. Just do it!
    But do not forget to get security boys on-board before making a proposal to your CIO :D
    No, even Nexus 1000V would not help you ex-post ...
  • Inspector2211 - Wednesday, November 24, 2010 - link

    Myricom was one of the 10G pioneers and now has a 2nd generation lineup of 10G NICs, with any phsyical connection option you can imagine (thick copper, thin copper, long range fiber, short range fiber).

    I picked up a pair of new first-gen Myricom NICs on eBay for $200 each and will conduct my own performance measurements soon (Linux box to Linux box).
  • iamkyle - Wednesday, November 24, 2010 - link

    Last I checked, Myricom has no 10G over CAT5e/6 UTP product available.
  • mianmian - Wednesday, November 24, 2010 - link

    I guess the lightpeak products May first hit the 10G Ethernet market. it will greatly reduce the cost&energy for those servers.
  • mino - Wednesday, November 24, 2010 - link

    First:
    There is not mentioned in the article what kind of setup you are simulating.
    Surely the network(HTTP ?) latency is not in tens of milliseconds, is it ?

    Second:
    Port consolidation? Yes, a great thing, but do not compare oranges to apples!
    There is a huge difference in consolidating those 10+ Ethernet interfaces (easy) and joining in a previously FC SAN (VERY hard to do properly).

    You are pretending that Ethernet (be it 1Gb or 10Gb) is in the performance class of even 4G FC SAN's is a BIG fail.

    10Gb Ethernet SAN (dedicated!) is a great el-cheapo data streaming solution.
    Rather try not hitting that with a write-through database.

    If your 4G SAN utilization is in the <10% range and you have no storage-heavy apps, FCoE or even iSCSI is a very cost-effective proposition.
    Yet even then it is prudent to go for a 2*10G + 2*10G arrangement of SAN + everything else.

    I have yet to see a shaper who does not kill latency ...

    Provided no test description was given, one has to assume you got ~4x the latency when shaping as well.

    The article on itself was enlightening so keep up the good work!

    Please, try not thinking purely SMB terms. There are MANY apps which would suffer tremendously going from FC latency to Ethernet latency.

    FYI, One unnamed storage virtualization vendor has FC I/O operation pass-through-virtualization-box capability of well under 150us.
    That same vendor has observed the best 1GbE solutions choke at <5k IOps, 10GbE at ~10k IOps while a basic 2G FC does ~20k IOps, 4G ~40k IOps and 8G up to ~70k IOps.
  • JohanAnandtech - Thursday, November 25, 2010 - link

    I agree with you that consolidating storage en network traffic should not be done on heavy transaction databases that already require 50% of your 10 GbE pipe.

    However, this claim is a bit weird:

    "That same vendor has observed the best 1GbE solutions choke at <5k IOps, 10GbE at ~10k IOps while a basic 2G FC does ~20k IOps, 4G ~40k IOps and 8G up to ~70k IOps."

    Let us assume that the average block size is 16 KB. That is 5000x16 KB or 80 MB/s for the 1 G solution. I can perfectly live with that claim, it seems very close to what we measure. However, claiming that 10G ethernet can only do twice as much seems to indicate that the 10G solution was badly configured.

    I agree that the latency of FC is quite a bit lower. But let us put this perspective: those FC HBA have been communicating with disk arrays that have several (in some cases >10) ms of latency in case of write-through database. So 150us or 600us latency in the HBA + cabling is not going to make the difference IMHO.

    To illustrate my point: the latency of our mixed test (Iometer/IxChariot) is as follows: 2.1 ms for the disktest (Iometer 64 KB sequential), 330 us for the networktest (high performance script of IxChariot). I think that is very acceptable to any application.

Log in

Don't have an account? Sign up now