Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Performance Evaluation of Xen Vs. OpenVZ

Posted by kdawson on Mon May 14, 2007 08:28 PM
from the price-to-pay dept.
An anonymous reader writes "Compared to an operating-system-level virtualization technology like OpenVZ, Xen — a hypervisor-level virtualization technology that allows multiple operating systems to be run with and without para-virtualization — trades off performance for much better isolation and security. OpenVZ's performance advantage due to running virtual containers in a single operating system kernel can be significant. A performance evaluation study (PDF) done by researchers at the University of Michigan and HP labs provides insight into how big a performance penalty Zen pays and what causes the overheads (primarily L2 cache misses)." From the report: "We compare both technologies with a base system in terms of application performance, resource consumption, scalability, low-level system metrics like cache misses and virtualization-specific metrics like Domain-0 consumption in Xen. Our experiments indicate that the average response time can increase by over 400% in Xen and only a modest 100% in OpenVZ as the number of application instances grows from one to four... A similar trend is observed in CPU consumptions of virtual containers."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Which I'm sure is feeling the heat from Xen.
  • Stop the press (Score:3, Insightful)

    by general_boy (635045) on Monday May 14, @08:39PM (#19124585)
    [Xen]... "trades off performance for much better isolation and security."

    No kidding, that's why I use it! Xen's performance ain't so bad. Show me a better performing virtualization solution that matches or bests Xen's isolation security - then we'll talk.
    • Re:Stop the press by vrmlguy (Score:2) Monday May 14, @08:42PM
    • Yeah but Xen is still a royal PITA to get running. KVM wasn't bad, and VMWare was pretty easy. I haven't even seen OpenVZ. Of the three I've tried, the ease of use was highly correlated to the product maturity. All three work, but IMHO VMWare is so far ahead it will take some time for Xen to be considered out of the hobbyist market and in the commercial one. I'm sure it'll get there, but to do what? Be a faster VMWare?

      So to sum, we've got OpenVZ, Virtualbox, KVM/Qemu, Xen, VMWare, Virtual Iron, and Virtuozzo. With so much virtualization software, I personally think performance takes a back seat to functionality (sure OpenVZ is fast, cool, what will it do for me that VMWare or Xen won't?). Is there really that much space in the virtualization landscape?
      [ Parent ]
      • Re:Stop the press by wertarbyte (Score:3) Tuesday May 15, @02:03AM
      • Re:Stop the press (Score:5, Interesting)

        by Xouba (456926) on Tuesday May 15, @02:55AM (#19127055)
        (http://www.xouba.net/)

        Yeah but Xen is still a royal PITA to get running. KVM wasn't bad, and VMWare was pretty easy. I haven't even seen OpenVZ.

        Yes, Xen is harder to install. But to compare it with KVM ... did you try to use them? KVM (at least, last time I tried -- which was only a couple weeks ago) is still in development, and the performance is so low compared to Xen that it's not even funny.

        On the other hand, VMware is very nice, specially the free Server edition, and it's really easy to use. But even so, performance is better in Xen. Check this [xensource.com]. Paravirtualization needs modified guests, but the outcome is so good that VMware is trying paravirtualization too [vmware.com].

        VMWare is so far ahead it will take some time for Xen to be considered out of the hobbyist market and in the commercial one

        What do you think is needed for Xen to be considered apt for commercial use? Remember that Xen can use unmodified guests if the hardware supports VTX/SVM instructions, which means that it can run Windows. Pretty front-ends? Xensource (which is slashdotted now, I guess, because it times out from here) offers one, and you also have Enomalism [enomalism.com].

        Besides, by what Wikipedia says about OpenVZ [wikipedia.org], it seems to be more a solution like jails [wikipedia.org], because it uses the same kernel for both the host and the guest systems. The phrase "glorified chroot" comes to mind, though I'm aware that it's more than that (just adding it for the sake of trolling, I guess :-)). Xen, VMware and QEMU/KVM are, on the other hand, real virtualization solutions, where all the virtual system runs completely isolated.

        I wouldn't recommend Xen for home use (VMware Server is a better and easier option, IMHO), but saying that it's not ready and comparing it to QEMU/KVM is almost a joke.
        [ Parent ]
      • Re:Stop the press (Score:4, Informative)

        by jaseuk (217780) on Tuesday May 15, @05:32AM (#19127749)
        (http://slashdot.org/)
        Virtuozzo/OpenVZ and VMWare have strengths in completely different areas.

        VMWARE is an excellent DR/BC solution due to complete virtual machine portability. However consolidation ratios (8:1 maybe) and performance are not that great, for consolidation you've probably only saved a few Us, but you have not really helped reduce the support burden, you'll still need lots of middleware / server management software to manage your estate. To actually get the most out of the DR/BC solution you also need an FC SAN and the complete Virtual Centre suite. If you've that kind of money to throw around then clearly you are in it for BC/DR purposes and VMWare is the right option. At this level you don't care if your consolidation ratios are 1:0.9 or worse.

        Virtuozzo/VZ on the other hand wins hands down for consolidation and management; you can easily fit 20-30 or more VPSes on a single server; and whatever the consolidation ratio the responsiveness will always be better than the same server under VMWare. However there are some drawbacks, Virtuozzo doesn't give you complete portability; you can only host Windows 2003 guest servers on a Windows 2003 hardware node for instance and you are unable to install device drivers. Adding a new VPS takes about as long and uses about as much resource as creating a new user on a system.

        I use both solutions; each definitely have their own place and couldn't be more different in their relative strengths.

        Jason
        [ Parent ]
      • Re:Stop the press by mikehoskins (Score:2) Tuesday May 15, @08:16AM
      • Re:Stop the press by Zonk (troll) (Score:2) Tuesday May 15, @09:04AM
      • Re:Stop the press by flydpnkrtn (Score:1) Tuesday May 15, @10:23AM
      • Re:Stop the press by MikeBabcock (Score:2) Tuesday May 15, @12:32PM
      • Re:Stop the press by stan_freedom (Score:2) Tuesday May 15, @01:39PM
      • 2 replies beneath your current threshold.
    • Re:Stop the press by ovz_kir (Score:1) Tuesday May 15, @06:24AM
    • Re:Stop the press by ppadala (Score:1) Tuesday May 15, @09:20AM
  • KVM (Score:2, Insightful)

    by QueePWNzor (1044224) on Monday May 14, @08:51PM (#19124695)
    (Last Journal: Tuesday February 27 2007, @09:35PM)
    Kernel VM is based off QEMU -- but doesn't Xen have a similar hypervised Linux kernel. (I personally thought that may be why KVM was created -- to be a better Xen.) As I'll eventually upgrade to a Linux distro with KVM, I wonder if there are similarities in them -- or preferably if KVM could be fully tested and compared with these results.
    • 1 reply beneath your current threshold.
  • Looks like analyst talk (Score:3, Funny)

    by fred911 (83970) on Monday May 14, @08:54PM (#19124725)
    " hypervisor-level virtualization technology that allows multiple operating systems to be run with and without para-virtualization "

      I don't know about you but it still makes my eyes hurt!
    • Re:Looks like analyst talk (Score:4, Informative)

      by interiot (50685) on Monday May 14, @09:07PM (#19124845)
      (http://paperlined.org/)

      Hypervisor [wikipedia.org] — the software that makes the virtualization happen... sometimes means virtualization that runs on bare-metal, rather than under a host OS.

      Paravirtualization [wikipedia.org] — I think this just refers to the cases where the guest OS is modified/recompiled to run work without needing to run in Ring 0, and instead changes those to be explicit calls to the virtualization software.

      So translated, I think that means "virtualization software that runs on bare-metal, both using unmodified guest OS's, and modified guest OS's."

      [ Parent ]
    • Re:Looks like analyst talk by Tumbleweed (Score:2) Monday May 14, @11:40PM
  • how big a performance penalty Zen pays

    Zen's performance issues were fixed by Avon, under Orac's guidance.

  • vserver + unionfs (Score:1, Informative)

    by a1mint (1021941) on Monday May 14, @09:15PM (#19124911)
    I use vserver in combination with unionfs, which just rocks.

    I can add and remove (semi) virtual machine at will. Each VM feels barely heavier than just an ordinary process.

    I take my normal mount points, and make it the read-only layer. I then add a writable layer on top of that and that's it. I've also created some handy scripts that'll let me manage, add, remove, start, stop, etc, VM's.

  • by Anonymous Coward on Monday May 14, @09:27PM (#19125003)
    OpenVZ works with FreeBSD?

    Does anyone have links to show the support?
  • Both are good. (Score:5, Informative)

    by Blackknight (25168) on Monday May 14, @09:30PM (#19125023)
    (http://www.watters.ws/)
    As somebody that actually has experience setting up and running virtualized systems (I work for a web hosting company) let me add my two cents here.

    OpenVZ is ok if all of your child environments run the same OS and you don't care about them stealing each other's resources. We constantly have problems with customers overloading their VPS and causing problems with the other environments, this doesn't happen with Xen. I've fork bombed child environments and caused the load to spike to over 700 until it crashed, dom0 and the rest of my domUs just kept running like nothing was even happening.

    OpenVZ also wins if you want to oversell hardware, Xen doesn't have "burstable" memory like OpenVZ does. Personally I prefer Xen for the jailing that it does and you can also run multiple OSes at the same time. I have a server at work that's running CentOS, Windows 2003, Windows Longhorn, and Gentoo all at the same time, OpenVZ only lets you run Linux on Linux.
    • Re:Both are good. (Score:5, Informative)

      When you sit down and do your homework, and don't oversell as you said, OpenVZ gets the job done. I was looking for a good way of virtualizing a new server we were moving to and I've gotta say I can't see myself ever NOT installing a server in either an OpenVZ VE or a Xen domU ever again.... with OpenVZ you can give one VE (almost) all the resources of the hardware its running on, and when that one server outgrows that hardware doing a vzdump or vzmigrate is sooo easy.

      The big difference between Xen and OpenVZ comes down to what openvz calls "privvmpages" - memory that is claimed by running processes but not actually used.

      The example here is this: two OpenVZ virtual environments (VE) can be set up on a server with, say, 1 gig of ram, with a gig of swap underneath it (So, RAM+Swap equals 2 gigs).

      Those two virtual environments can be "oversold" in the amount of privvmpages they're allowed to use, because processes ask for more memory than they _actually use_ all the time. So let's say we give those two VEs 1.5 gigs of privvmpages (total of 3 gigs - more than RAM+Swap), but we only give them each 500 megs of oomguarpages. (less than RAM+Swap).

      The thing that _should never_ go over RAM+Swap is oomguarpages (out of memory guaranteed pages) - pages of memory that are guaranteed (OpenVZ measures some of its resources in pages and some in megs).

      With Xen, on that server I just described you're locked in - there's no bursting, and there's no dynamic allocation going on. You give one domU 750 megs of ram and you give the other domU 750. That's it.
      [ Parent ]
    • Re:Both are good. by ovz_kir (Score:1) Tuesday May 15, @06:15AM
    • Re:Both are good. by Cyberax (Score:2) Tuesday May 15, @07:46AM
  • Yes, but ... (Score:4, Funny)

    by Anonymous Coward on Monday May 14, @09:52PM (#19125195)
    Does it run multiple instances of Linux?
  • And... (Score:5, Insightful)

    by coyote4til7 (189857) on Monday May 14, @10:16PM (#19125347)
    (http://www.4til7.com/)
    Nothing like a virtualization comparison that ignores the 800 guerilla that is VMWare. How do the learning curves, performance and security of these products compare with VMWare? Why should someone who is satisfied with VMWare consider other alternatives?
    • Re:And... by myowntrueself (Score:3) Monday May 14, @10:27PM
    • Xen vs VMware - personal experience (Score:5, Informative)

      by Anonymous Coward on Monday May 14, @10:41PM (#19125517)
      Here are a few talking points based on my experiences with both Xen and VMWare (ESX Server & Workstation).

      1. Cost - no contest, xen wins hands down $0 vs $5000/cpu.
      2. Performance - xen wins noticably, i can get away with running 8 virtual machines with 1/4 the hardware that VMWare required for 6.
      3. Capabilities - VMware versions ESX GSX and up beat Xen in ease of use and flexibility, anything less and Xen wins. Xen does have a quicker live migration capability, but falls short on conencting external hardware to the virtual machine (something that is trivial in VMware).
      4. Stability - about even, maybe Xen. I've seen ESX crash once, and have never seen Xen crash.
      5. Ease of use - VMWare no question. Theres a learning curve to Xen and setting up new VM images is a pain. (which is disappearing) There are fantastic tools for VMware that will let you manage virtual machine creation and even migration from a physical box. (some of which can be used to feed xen too =))

      The bottom line. A Xen setup (using open source version) that can easily run 12 VMs costs about $2,000 on DIY hardware. A VMWare server/software combo to do the same? about $30,000. Assume an additional 40-80 hours of learning to get up to speed with Xen vs VMware.

      The comments above cover the open source / free version of Xen. I have no experience with the commercial Xen offerings.

      Personally i'm Xen biased due to cost.
      [ Parent ]
    • Re:And... (Score:4, Informative)

      by Chirs (87576) on Tuesday May 15, @12:35AM (#19126363)

      This is a bit out of date, but here is some comparison between Xen, User Mode Linux, and Vmware 3.2 (which is the most recent version that allows publication of benchmarks).

      http://www.cl.cam.ac.uk/research/srg/netos/xen/per formance.html [cam.ac.uk]

      Xen is always faster than Vmware, with the exact amount varying depending on the specific load. They've all improved since then, of course.
      [ Parent ]
      • Re:And... by Anonymous Coward (Score:1) Tuesday May 15, @02:44AM
    • Re:And... by soulhuntre (Score:1) Tuesday May 15, @12:45AM
      • 1 reply beneath your current threshold.
    • Re:And... by ppadala (Score:1) Tuesday May 15, @11:47AM
  • Other VM options.. (Score:3, Informative)

    by tji (74570) on Monday May 14, @10:42PM (#19125531)
    Linux has a lot of great VM options. VMware is a great free (cost) option, and KVM has become a great option very quickly. OpenVZ and VServer are interesting light weight OS "jail" virtualizations. They each have pros and cons, depending on your requirements and apps being used.

    I'm setting up my "next generation" home linux server, and looking into the virtualization options for that. Probably a bigger factor than performance is the setup and manageability. I have found Xen to be pretty primitive compared to VMWare.. setup is a pain, documentation is spotty, and support is minimal. The one advantage of Xen is that you can (and often must) do everything with it from the command-line. The GUI tools are weak at best.

    I am now leaning towards using VMWare server. But, I still need to do some testing with KVM.. articles I have read about it sound very impressive. KVM paravirtualization performance is supposed to be excellent. But, I don't know about management.
  • Go the FreeBSD way!

    Lousy virtualization, Happy users: FreeBSD's jail(2) facility [ukuug.org]
    Source: UKUUG [ukuug.org]
    Tags: ukuug, presentation, freebsd, jails, poul-henning kamp
    Slides (2.7 Mb) [ukuug.org]
    Lousy virtualization, Happy users: FreeBSD's jail(2) facility by Poul-Henning Kamp (phk@FreeBSD.org)
  • It's not always about performance; Xen gets each their separate kernel. This means that special adjustments can be made for a virtual machine. Also, with Xen you could easily experiment with an upgraded kernel for the virtual machines, without rebooting the main (host) machine. Finally, I for myself like the fact that you have your 'own' kernel. It feels much more like a real machine. Especially with a bootloader like pygrub, which is employed in RedHat AS and CentOS, the kernel inside the virtual machine can even be upgraded by yum running inside the VM.

    Note that I'm not a Xen apologist, I'm not denying a performance hit here.
  • Appples and oranges... (Score:4, Interesting)

    by flyingfsck (986395) on Tuesday May 15, @12:31AM (#19126335)
    OpenVZ is somewhat like FreeBSD Jails. It provides some separation which makes it easier to manage multiple complex servers. For example, it makes sense to run a web server and mail server in two separate virtual machines, since it keeps the configuration independent.

    Xen, is like VmWare or Qemu and provides an independent virtual machine for each system. These systems can be anything at all: Windows, Linux, BSD, whatever.

    Performance wise, OpenVZ is bound to win, because it is a different solution to a different problem.
  • by dropadrop (1057046) on Tuesday May 15, @01:08AM (#19126515)

    As long as the performance is not bad, I'll take isolation and ease of use over an edge in performance any day. If performance is not good enough, I'll buy a faster server. If the virtuals start disturbing each other, you won't be able to fix it easily and it might be very expensive on the long run.

    I have to admit I don't have a lot of experience with Xen, and even less with OpenVZ. If I was building a server at home I would probably use Xen as it's free. At work I'm happy with VMWare ESX 3. Might be the performance is not on par with Xen (though it can't be far off), but the ease of use and management features make my job so much easier. The ability to move virtuals from one server to another without shutting them down (vmotion), easily view the state and resource usage of each virtual, high availability with clustering (one node goes down the virtuals are automatically started on another host), automatic resource balancing (one server get's overloaded, a virtual is automatically moved to an idle host without shutting it down) ect. make it the only viable choice for anything important that does not have an operator at hand 24/7.

    I'm not that impressed with the free VMWare Server. While it works in most things, it has very bad disk IO performance. Especially noticeable if you create new disk files or work with snapshots while running a lot of virtuals. It's ok for development or testing, but that's it.

  • Hypervisor for both (Score:2, Interesting)

    by gokalp (686689) on Tuesday May 15, @02:05AM (#19126855)
    We're using HyperVM from LxLabs http://www.lxlabs.com/ [lxlabs.com] and it manages both OpenVZ and XEN. You can easily watch the performance penalties of both virtual machines from the same panel and migrate in between. So whenever someone abuses OpenVZ you can migrate it to XEN.
  • I used to have a Virtuozzo server, but after I started noticing poor PHP performance, my hosts migrated to a Xen3 machine and I must say the speed *increase* was quite impressive, and that was running with less physical RAM allocated, and more swap, on the same spec Opteron box.

    So maybe OpenVZ has some improvements over the commercial variant (seems backwards) or the article is talking about an old Xen2?

    I'm currently moving onto a real hardware colo system, which is more hassle, but gives me more control.
  • by ovz_kir (946783) on Tuesday May 15, @06:52AM (#19128173)
    (http://openvz.org/)

    Xen trades off performance for much better isolation and security.

    I guess I have to correct you here. Xen trades off performance for an ability to run different kernels, and this has nothing to do with either isolation or security. So, Xen is good when you want to run different kernels (different OSs).

    OpenVZ, on the other hand, employs a single kernel model, which makes it suitable for you if you only want to run Linux (different distros are possible, different kernels are not). But in this very field OpenVZ is way better than Xen -- not only in terms of performance, but also scalability, manageability, density, and usability.

    Speaking of isolation and security, OpenVZ runs on thousands of ISP/HSP servers, and everyone can buy a VE (Virtual Environment) for about 10-15 bucks a month. There one have a root account and can try to exploit the system in all the possible ways. So far those HSPs are not out of business yet, that practically proves the system is secure and properly isolated. More to say, security comes from the constant care, and we (OpenVZ team) do care for security a lot, see this blog entry [openvz.org] for some more details.

  • HP is a partner to both companies, you just didn't look properly. Although HP is just a System Management[Xensource.com] [xensource.com] partner.
    [ Parent ]
  • Re:Partners... (Score:1)

    HP actually works more closely with Xen than OpenVZ. For that matter, HP guys have contributed quite a bit of code to Xen (XenoProf [sourceforge.net], Perfmon [hp.com] come to mind). This study is done by people from U.Michigan and people at HP labs, a research division of HP.

    Pradeep
    [ Parent ]
  • > Xen's benchmarks vs. native, VM and UML are pretty decent. Not sure what cleverly crafted scenarios they're using here.

    Xen for that matter any virtualization will run CPU intensive applications very well and close to native. If it doesn't, there is some thing really wrong. The problem happens in I/O intensive applications. It's not our (I am the primary author of the report) goal to find clever scenarios to find where Xen is worse. These scenarios are real and use complex multi-tier setups. These scenarios are very commonly used in server consolidation and we wanted to evaluate how Xen and OpenVZ compare. More importantly, from a research perspective, what exactly causes these trade-offs ?

    P.S. These are my personal opinions and don't reflect that of HP.
    [ Parent ]
  • The article (yup, I've speed read TFA) defines Xen as a para-virtualization systems... Completely ignoring that since now years Xen also allows to do hardware-virtualization. Another posted also noted already that Xen's power lies in its ability to run different OSes.

    Btw I happen to run my Samba / NFS / CVS / SVN server on a Xen para-virtualized domU. For hardware-virtualization I tried Xen too and the open, free, version lacks good I/O drivers for Windows (slow network and slow disk).
    We very well know that Xen supports hardware-virtualization as well. As you pointed out, the performance is abysmal because Xen still uses IO emulation while using hardware virtualization.

    People want to Google on exactly "Which virtualization is right for you" and read infos from a knowledgable sysadmin (managing thousands of servers and virtual servers on a lot of various platforms and, no, it's not me) instead of an article performing micro-benchmarking of hypercalls to compare apples to oranges.
    These are NOT micro-benchmarks. Infact, I would call them macro benchmarks. A few server consolidation scenarios are setup and the performance of Xen and OpenVZ is compared. Then, we dug deeper to find out the reasons for the problems using Oprofile. It's not comparing orranges to apples, because both technologies are touted for server consolidation.

    There's no single virtualization technology that works for every one, as many have explained in earlier comments.

    Pradeep

    [ Parent ]
  • 7 replies beneath your current threshold.