Virtualization Performance: Linux VMs on ESXi

We introduced our new vApus FOS (For Open Source) server workloads in our review of the Facebook "Open Compute" servers. In a nutshell, it a mix of four VMs with open source workloads: two PhpBB websites (Apache2, MySQL), one OLAP MySQL "Community server 5.1.37" database, and one VM with VMware's open source groupware Zimbra 7.1.0. Zimbra is quite a complex application as it contains the following components:

  • Jetty, the web application server
  • Postfix, an open source mail transfer agent
  • OpenLDAP software, user authentication
  • MySQL is the database
  • Lucene full-featured text and search engine
  • ClamAV, an anti-virus scanner
  • SpamAssassin, a mail filter
  • James/Sieve filtering (mail)

All VMs are based on a minimal CentOS 5.6 setup with VMware Tools installed. All our current virtualization testing is on top of the hypervisor which we know best: ESXi (5.0). CentOS 5.6 is not ideal for the Interlagos Opteron, but we designed the benchmark a few months ago. It took us weeks to get this benchmark working and repeatable (especially the latter is hard). For example it was not easy to get Zimbra fully configured and properly benchmarked due to the complex usage patterns and high I/O usage. Besides, the reality is that VMs often contain older operating systems. We hope to show some benchmarks based on Linux kernel version 3.0 or later in our next article.

We tested with five tiles (one tile = four VMs). Each tile needs seven vCPUs, so the test requires 35 vCPUs.

vApus FOS

The Opteron 6276 stays close to the more expensive Xeons. That makes the Opteron server the one with the best performance per dollar. Still, we feel a bit underwhelmed as the Opteron 6276 fails to outperform the previous Opteron by a tangible margin.

The benchmark above measures throughput. Response times are even more important. Let us take a look at the table below, which gives you the average response time per VM:

vApus FOS Average Response Times (ms), lower is better!
CPU PhpBB1 PHPBB2 MySQL OLAP Zimbra
AMD Opteron 6276 737 587 170 567
AMD Opteron 6174 707 574 118 630
Intel Xeon X5670 645 550 63 593
Intel Xeon X5650 678 566 102 655

The Xeon X5670 wins a landslide victory in MySQL. MySQL has always scaled better with clock speed than with cores, so we expect that clock speed played a major role here. The same is true for our first VM: this VM gets only one CPU and as result runs quicker on the Xeon. In the other applications, the Opteron's higher (integer) core count starts to show. However, AMD cannot really be satisfied with the fact that the old Opteron 6174 delivers much better MySQL performance. We suspect that the high latency L2 cache and higher branch misprediction penalty (20 vs 12) is to blame. MySQL performance is characterized by a relatively high amount of branches and a lot of accesses to the L2. The Bulldozer server does manage to get the best response time on our Zimbra VM, however, so it's not a complete loss.

Performance per watt remains the most important metric for a large part of the server market. So let us check out the power consumption that we measured while we ran vApus FOS.

vApus FOS Power Consumption

The power consumption numbers are surprising to say the least. The Opteron 6174 needs quite a bit less energy than the two other contenders. That is bad news for the newest Opteron. We found out later that some tinkering could improve the situation, as we will see further.

Benchmark Configuration Measuring Real-World Power Consumption, Part One
POST A COMMENT

106 Comments

View All Comments

  • UberApfel - Wednesday, November 16, 2011 - link

    If anyone finds me a madman; let me explain this simply by example. Benchmark choices aside...

    If this test were to compare any of the top or middle-tier processors on the "AMD vs. Intel 2-socket SKU Comparison" chart ( http://www.anandtech.com/show/5058/amds-opteron-in... ) with their matching competition; this article would tell a different story in essence. Which does in fact, regardless of how fair the written conclusion may be, makes it biased.

    Examples:
    X5650 vs 6282 SE
    E5649 vs 6276
    E5645 vs 6272
    Reply
  • JohanAnandtech - Thursday, November 17, 2011 - link

    "Yet handpicking the higher clocked Opteron 6276 (for what good reason?) seems to be nothing but an aim to make the new 6200 series seem un-remarkable in both power consumption and performance"

    Do you realize you are blaming AMD? That is the CPU they sent us.

    "The 6272 is cheaper, more common, and would beat the Xeon X5670 in power consumption which half this review is weighted on."

    The 6272 is nothing more than a lower speedbin of the 6276. It has the same power consumption but slightly lower performance. Performance/wat is thus worse.

    "PostgreSQL/SQLite? Facebook's HipHop? Node.js? Java? Something relevant to servers and not something obscure enough to sound professional? "

    We use Zimbra, Phpbb, Apache, MySQL. What is your point? that we don't include every server software on the planet? If you look around how many publications are running good repeatable server benchmarks? If it would be so easy as running Cinebench or Truecrypt, I think everybody would be.

    "Even the chart on Page 1 is designed to make Intel look superior all-around. For what reason would you exclude the Opteron 4274 HE (65W TDP) or the Opteron 4256 EE (35W TDP) from the 'Power Optimized' section?"

    To be honest, those CPUs were not even in AMD's presentation that we got. We were only briefed about Interlagos.
    Reply
  • UberApfel - Thursday, November 17, 2011 - link

    Did they send you the Xeon X5670 also? I suppose who's ever handling media relations at AMD is either careless or disgruntled. eg. Sending a slightly overclocked processor with a 30% staple that happens to scale unusually bad in terms of power efficiency.

    Please just answer this honestly; if you had compared a Opteron 6272 w/ a E5645 ... would your article present a different story?

    Fair as you may have tried to be; you don't have to look far to find a comment here that came to the "BD is a joke" conclusion.

    ---

    Using a phpbb stress test is hardly useful or relevent as a server benchmark; nevermind under a VM. Unless configured extensively; it's I/O bound. "Average Response Time" is also irrelevant; how is the reader to know if your 'response time' does not favor processors better with single-threaded applications?

    Additionally; VM's on a better single-threaded processor will score higher in benchmarks due to the overhead as parallelism isn't optimized. Yet these results make zero sense in real-world usage. It contradicts the value of VM's; flexible scalability for low-usage applications.

    Finally; I'd estimate that less than 5% of servers are virtual (if that). VM's are most popular with web servers and even there they have a small market share as they only appeal to small clients. Large clients use clusters of dedicated; tiny clients use shared dedicated.

    Did you even use gcc 4.7 or Open64? In some applications; the new versions yield up to 300% higher performance for Bulldozer.
    Reply
  • JohanAnandtech - Thursday, November 17, 2011 - link

    "if you had compared a Opteron 6272 w/ a E5645 ... would your article present a different story?"

    You want us to compare a $551 80W TDP Intel cpu with a $774 115 AMD CPU?

    "Unless configured extensively; it's I/O bound."
    We know how to monitor with ESX top. There is a reason why we have a disk system of 2 SDDs and 6 x 15k SAS disks.

    "Average Response Time" is also irrelevant
    Huh? That is like saying that 0-60 mph acceleration times are irrelevant to sports cars.

    "Finally; I'd estimate that less than 5% of servers are virtual (if that)"
    ....Your estimate unfortunately was true in 2006. We are 2011 now. Your estimate is 10x off, maybe more.
    Reply
  • UberApfel - Thursday, November 17, 2011 - link

    "You want us to compare a $551 80W TDP Intel cpu with a $774 115 AMD CPU?"
    $539

    "The 6272 is nothing more than a lower speedbin of the 6276. It has the same power consumption but slightly lower performance. Performance/wat is thus worse."
    By your logic; the FX-8120 and FX-8150 have equal power consumption. They don't.

    "We know how to monitor with ESX top. There is a reason why we have a disk system of 2 SDDs and 6 x 15k SAS disks."
    It's still I/O bound unless configured extensively.

    "Huh? That is like saying that 0-60 mph acceleration times are irrelevant to sports cars."
    Yeah; it is if you're measuring the distance traveled by a number of cars. The opteron is obviously slower in handling single requests but it can handle maybe twice as many at the same time. Unless your stress test made every request @ T=0 and your server successfully qued them all, dropped none, and included the que time in the response time... it would favor the xeon immensely. Perhaps it does do all this; which is why I said "how is the reader to know" when you could have just as easily done 'Average Requests Completed Per Second'.

    "....Your estimate unfortunately was true in 2006. We are 2011 now. Your estimate is 10x off, maybe more."
    Very funny. Did the salesman that told you that also recommend these benchmarks? Folklore tells that Google alone has over a million servers, 20X that of Rackspace or ThePlanet, and they aren't running queries on VM's.
    Reply
  • boomshine - Thursday, November 17, 2011 - link

    I hope you included MS SQL 2008 performance just like in opteron 6174 review:

    http://www.anandtech.com/show/2978/amd-s-12-core-m...
    Reply
  • JohanAnandtech - Thursday, November 17, 2011 - link

    Yes, that test failed to be repeatable for some weird reason. We will publish it as soon as we get some reliable numbers out of it. Reply
  • JohanAnandtech - Thursday, November 17, 2011 - link

    "SMT can only execute a single thread at once. "

    The whole point of SMT is to have one thread in one execution and another thread in the other execution slot.

    In fact, the very definition of SMT is that two or more threads can execute in parallel on a superscalar execution engine.
    Reply
  • TC2 - Thursday, November 17, 2011 - link

    another joke from AMD with their BD "server-centric" architecture - bla-bla! amd 8\16 against intel 6\12 and again can't win! Reply
  • pcfxer - Thursday, November 17, 2011 - link

    " make of lots of DLLs--or in Linux terms, they have more dependencies"

    Libraries is the word you're looking for.

    I also see the mistake of mixing programming APIs/OS design/Hardware design...

    Good software has TLBs, asynchronous locking where possible, etc, as does hardware but they are INDEPENDENT. The glue as you know, is how compiled code is treated at the uCode level. IMO, AMD hardware is fully capable of outperforming Intel hardware, but AMD uCode is incredibly good.
    Reply

Log in

Don't have an account? Sign up now