Original Link: https://www.anandtech.com/show/3423



Don't mention "performance" in a conversation about virtualization. It is not trendy, it is archaic, it is part of the folkore. At least if you believe the gullible press and Analysts. Some of them seem to be all in a hurry to repeat the claims of the vendors.
 
We give you a small Anthology of  these "inspired" articles and discuss why they are naive.
 
HyperLove by ZDNet
 "We loved the near-native performance of Windows guests in Hyper-V", Jason Perlow ZDNet, Juli 1st 2008. Benchmark numbers to back this up? Not necessary.
 
Juicy detail: the same article claims:
"Back in February, we had a look at a late beta release, and we were quite impressed with the performance of the system".
 
Performance wise, Hyper-V was at that time pretty bad. When we tested back in April 2008 with RC-0, performance was in many cases not half of ESX 3.5 performance. But we could not publish this as this was RC-0 after all, and Microsoft admitted it had to improve this in the final version. Don't take our word for it, here is PCWorld:

"The most notable -- and the most significant -- change between the initial release candidate version (RC0) of Hyper-V and the RTM edition is better performance. Most of the performance work was done between RC0 and RC1, but not many people knew about it due to (a) not-so-wide a release and (b) a ban on performance testing by MS."
 
So although MS banned all performance testing on RC-0 and made large improvements on performance, some people still managed to be impressed by "the performance of Hyper-V" of a version older than RC-0?
 
Virtualization Tax myths and folklore
The Kusnetzky Group LLC feels that VMWare's benchmarking is a proof that hypervisor performance overhead is a myth: (July 22nd, 2008)
 
"Virtual machine overhead has been part of the folklore for quite some time. I’ve heard it described as the "virtualization tax” by those opposed to the use of this technology"
 
"In my view, successfully put it [Performance overhead] to bed".
 
The good old days that the press was supposed to make critical comments is over. You are either opposed to virtualization if you believe in virtualization overhead, or a folkloristic figure.
 
The Devil is in the details 
The performance figures of ESX 3.5 are without a doubt pretty impressive. We'll show you more in a few weeks. But simply assuming that (for example) "Applications having high I/O aren’t good virtualization candidates" is a performance myth because VMWare says so and shows performance numbers is just gullible.
 
The reality is that getting good performance out of of virtualized high I/O applications is possible, but it is pretty hard. If the "near native performance" claim was right and virtualization overhead was just a myth, why
  • Would AMD be touting their NPT/RVI technology? 
  • Would Intel be talking about a second generation of hardware accelerated virtualization (EPT in Nehalem)?
  • Would PCI SIG be hard at work at an I/O virtualization architecture?
Why do you think that we measured a performance increase ranging from 7 tot 30% with Nested Paging? The current virtualization solutions virtualize many applications with little performance overhead, but I/O intensive applications are still not among those.
 


Enter and exit VMM numbers (in ns) for the different Intel families.

Look at how much work Intel put into lowering in the hypervisor - Guest OS transitioning time with each CPU generation, and you'll understand that low virtualization performance overhead is only possible with the very latest CPUs. The moment your application needs large memory buffers which shrink and grow in time (like many big OLTP databases), does quite bit of network traffic or write a lot to your block devices, you will probably need an 
  • Intel Nehalem (not available yet) or AMD quadcore Opteron
  • Virtual I/O optimized NIC (such as Neterion's)
  • Other of the very latest hardware.
to get near native performance. And it doesn't end with having the latest hardware available. Is your database application 64 bit? Does the application and your OS support Async I/O? Is your database satisfied with 4 CPUs? Did you enable large pages? and so on. It is possible to get very good virtualization performance, but you problably sweat a bit and sometimes blood on it. That is the reason why many organisations are still keeping their OLTP databases on a native machine. It takes the right hardware, software and configuration combination to get the published VMWare numbers. And while in some cases very skilled people can make this happen, in a lot more cases you can not attain these ideal conditions.
 
The people at VMWare have the right to claim that I/O intensive applications can be virtualized at a relatively low performance cost (it is possible), but the task of analysts and press to find the snakes under the grass, and to talk about the "if"s and "but's". In my next post tomorrow I will show how some of the "near native performance" claims are simply very clever but completely useless and wrong in the real world. 
 
We love virtualization as it is lowering the cost of IT. But despite the fact that we are "not opposed to it", we'll do some independent testing before we believe VMWare, Xen and Microsoft. Part of the folklore here at Anandtech :-).
 

Log in

Don't have an account? Sign up now