Virtualizing Cuts Web App Performance 43%
czei writes "This just-released research report, Load Testing a Virtual Web Application, looks at the effects of virtualization on a typical ASP Web application, using VMWare on Linux to host a Windows OS and IIS web server. While virtualizing the server made it easier to manage, the number of users the virtualized Web app could handle dropped by 43%. The article also shows interesting graphs of how hyper-threading affected the performance of IIS." The report urges readers to take this research as a data point. No optimization was done on host or guest OS parameters.
I do like the idea of a variably sized beowulf cluster running a floating number of package (LAMP) servers. Get more clients? Add more VLAMPs. Things slowing down? Add more hardware.
You still take performance hits, but if you can scale your system by just adding cheap commodity systems, that works. Plug it in, boot it off a CD, and let the Cluster take control.
110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
Linux under VMWare's network performance is pretty bad. An interesting visual confirmation is to use an ssh shell and watch the lag. That may just be the broadcom chips in the servers the company I was working for used, though. Guest OSes are fine for some low traffic stuff that only a few people will be using, and is definitely the way to go in the test lab; but I wouldn't use this configuration as a company's primary reverse proxy or mail solution.
That said,
I use a windows vmware session under linux for those times I have no choice, and it works just fine network-wise as a workstation.
Well put. But I do know a number of people in the industry that will be shocked by this, which was who I was referencing.
But really. If you've got the money for the extra hardware to maintain performance, I say go for the virtualization, if only to make yout IT guys' lives easier (happy IT is useful IT).
110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
In fairness, a 43% performance hit is a bit more than "a bit". It's cutting performance nearly in half.
I agree with your overall sentiment (a virtualized system is going to be slower than the same system running on real metal, by definition) but 43% is certainly a higher figure than I would have expected.
Read my blog.
That said, the COST of binary translation is never very high. A good BT engine gets essentially native performance (1% overhead is quite obtainable), and is limited only by the size of the translation cache.
A witty [sig] proves nothing. --Voltaire
Th key thing to not is that their tests don't substantiate their conclusion:
> These results indicate that a virtualized server running a typical web application may experience
> a 43% loss of total capacity when compared to a native server running on equivalent hardware.
This may lead to people believing that virtualiz]ation just isn't worth the advantages. The key problem is that there are several virtualization schemes. Off the top of my head, I can list:
* Xen
* KVM
* Linux-VServer
* OpenVZ
* User Mode Linux
* lguest
Each has it's pros and cons in terms of overhead, maintenance, and performance. Generalizing based on one VMWare configuration, is just plain foolish.
Let's not forget the old chroot approach that gives you 90% of the advantages of virtualizing web servers with few of the disadvantages.
The key thing to do is to pick the right technique for the right task.