热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Xen、VMware、OpenVZ三种虚拟技术的对比

目前的国内外vps主机提供商所提供的主机大多是基于xen、vmware、openVZ这三大虚拟软件,国内的提供商大多采用vmware,而美国等国外提供商大多采用xen和openVZ这两款软件。xen,推荐,已经开始在集成到主要的linux发行版。它在性能上也表现很相当不错,再加上

目前的国内外vps主机提供商所提供的主机大多是基于xen、vmware、openVZ这三大虚拟软件,国内的提供商大多采用vmware,而美国等国外提供商大多采用xen和openVZ这两款软件。

xen,推荐,已经开始在集成到主要的linux发行版。它在性能上也表现很相当不错,再加上是open source(开源软件),已经成为了linux上虚拟机的一个主角。

OpenVZ是SWsoft公司的open source版,同公司还有Virtuozzo的商用版, 它的最大的特别在于性能出色。

下面就重点分析一下OpenVZ和Xen的区别。

Xen由dom0和domU组成,Dom0是虚拟出CPU, IO总路线等资源,供工作于DomU上的不同的kernel运行。
这样的好处是,
1.对可以运行的操作系统限制较少。
2.domU上系统的crash不会影响其他的dom. 当然Dom0发生故障时还是会有问题。
坏处:
1.由于需要虚拟CPU,BUS等物理资源,开销会更大点。

OpenVZ使用了完全不同的方式,它所创造的虚拟机都使用工作在同一个kernel下。
这样的好处是
1。性能好。
坏处:
1。任何一个kernel bug都会危及所有的虚拟机。 因kernel bug所crash的可能性大大增加。
2。他需要对内核作很多的改动。

最近,还有一个趋势就是,hardware虚拟,现在的CPU带有多个核心,Intel和AMD都开始发布基于CPU的虚拟化。这一些都也可能成为虚拟技术的一个新的热点。

=================================================

“李晨光” 对Vmware Workstation 6.5  ,MS Virtual Server 2005 R2,SWsoft的Virtuozoo,以及基于开源的Suse Linux server 10下的xen虚拟化的各项性能表现做了比较测试。经过性能比较测试我发现在系统整体性能中,Virtuozzo和VMware整体表现突出,Virtuozoo更强大一些,而Virtual Server相对较弱,其中对于单个虚拟机的资源分配限制对Virtual Server的性能有一定影响。

1. Cpu 性能:在windows 平台下,vmware的CPU性能表现突出。virtual server 表现较弱。但在linux平台下XEN表现最好,其次是virtuozoo,而vmware 表现一般,virtual server则最差。

2.内存性能:在windows 平台中,vmware 表现突出,在linux下virtuozzo表现突出,其次是XEN,vmware则一般。
磁盘IO性能:在linux平台下Virtuozzo表现优秀。

3. 网卡性能:在windows、linux平台下virtual server表现较差其他都比较不错。

4.Web应用性能:在windows 、linxu平台下virtuozzo表现做好,其次是vmware。
综上所述,个人觉得在虚拟机性能分析上virtuozzo对系统损耗最小,表现最好,最接近物理机。vmware整体表现居中。由于virtual server 的配置限制,无法充分利用硬件所有资源,所以在整个性能表现中相对较差。

不过他的测试貌似更多的是经验之谈,专业得评测要看 ITPRO评测的Hyper-V和ESX的对比

=================================================

1.VMware基于硬件仿真的产品

不过,这家公司面向企业市场的ESX Server产品采用了略有不同的方法。ESX Server实际上是非常精简、受到严加控制的基于Linux的操作系统??安装在裸机系统上,用不着需要主机操作系统。因而,它的硬件支持功能比较有限,不过它管理每个虚拟系统所需的开销比较小,能够支持更多的并行虚拟服务器实例。

2.Virtuozzo迎合大量服务器环境 (OpenVZ)

多个虚拟服务器在一个内核上运行,具有高性能和出色管理等优点。

SWsoft公司的Virtuozzo能够处理在一个主机系统上运行的大量虚拟服务器,它有一套出色的管理工具和开放API,从而简化了自动化管理。

Virtuozzo并不与VMware或者微软的虚拟产品正面竞争,因为它不提供硬件仿真机制,不过这也让它的扩展性远胜于其他虚拟化产品,每个物理主机可望提供几百个虚拟服务器。因此,Virtuozzo及基于主机的其他虚拟化产品的主要对象是大规模的Web和应用主机托管环境及一些质量保证应用。

Virtuozzo采用的方法类似Solaris 容器和BSD限制分区(BSD jail),原因就在于经过改动的操作系统内核的单一实例可以支持多个虚拟专用服务器(VPS)。当然,Virtuozzo的共享主机设计意味着,运行在特定服务器上的每个VPS在操作系统内核方面肯定有着同样的基本配置。因此,需要应用和服务运行在VOS上将确定这种方案是否适合特定情形。

VPS在Virtuozzo下的性能相当出众,大多数情况下,开销不到3%。

3.Xen 3.0让准虚拟化技术成为主流 ,是操作系统级的虚拟化

开放源代码hypervisor把虚拟化技术融入了操作系统内核。

三年前Xen项目引起人们的注意之前,准虚拟化(paravirtualization)闻所未闻。这项技术是指,经过改动的操作系统把特权操作指令重定向至功能薄薄的“hypervisor”层,而不是直接把它们发送到CPU。特权操作指令是裸机代码,负责调整虚拟内存以及与设备之间进行通信。这种方案的效率远远高于在CPU指令层截获特权操作系统并加以重定向,而VMware、微软虚拟服务器及基于硬件仿真的其他虚拟化解决方案都属于后者。

Xen的一大优点是,它详细地介绍了物理系统迁移到虚拟系统(这个过程通常很麻烦)的方法:使用dd命令,把引导驱动器从另一个服务器拷贝到本地文件上,然后把Xen指向该文件,最后就可以引导虚拟机了。用不着寻求帮助。

尽管安装及运行简单,但开放源代码的Xen绝不是没有多少特性的简易方案。Xen客户虚拟机运行速度快,这还不足以描述其优点。Xen的速度之快不仅仅体现在计算速度方面。衡量虚拟化性能的一个标准就是吞吐量,而Xen在这方面不负所望。存储和网络I/O速度飞快;说到存储,Xen具有非同寻常的灵活性。客户虚拟机可以使用专用的驱动器或者阵列、现有驱动器上的专用分区,或者安装在主机上的其中一个文件系统上的磁盘镜像文件。

4.AMD和英特尔把虚拟化功能嵌入到芯片内

如果软件不必从事所有的繁重任务,性能就会得到提升。

如今AMD和英特尔都提供了硬件辅助的虚拟化技术,这不是什么技术突破,却为今后取得技术突破拉开了帷幕。AMD的安全虚拟机(SVM)和英特尔的虚拟化技术(VT)表明CPU的设计理念及由此而来的架构将会出现巨大变化。

=======================================================

http://www.superhaiou.com/articles/virtualizationxen-and-xvm-server.html 

虚拟化技术从实现途径上来说,由两种典型的派别:泛虚拟化 (para-virtualization) 和完全虚拟化 (HVM) 。前者通过修改客户操作系统来配合虚拟化的环境,从而达到较高的性能,但也付出了兼容性和维护性方面的限制,而 Xen 就是泛虚拟化技术的杰出代表;而完全虚拟化技术常常需要得到处理器级别的硬件支持(如 Intel VT 或 AMD-V 处理器),或者通过对客户机执行代码进行动态二进制代码转换,然后可以无需修改的直接运行一个已有的操作系统,使得虚拟化技术的应用更加容易。完全虚拟化的代表产品有VMware, VirtualPC, QEMU 等。

1. 什么是 VMM(hypervisor)

虚拟软件的核心是一个 “ 虚拟机监视器 ” ( VMM , virtual machine monitor ),有时也被称作 “hypervisor” 。一个 hypervisor 是一个非常底层的虚拟化程序,可以让多个 OS 共享一个单一的硬件处理器 —— 无论是不同类型的操作系统,还是同一操作系统的多个实例( instance )。表面上看来,每个操作系统 “ 独占 ” 处理器、内存及 其他资源。但实际上是由 hypervisor 控制着真实的处理器等资源,并根据需求轮流向操作系统分配资源。由于一个操作系统经常是用于运行某个或某组特定的应用,而使用 hypervisor 可以在单一服务器上运行多个操作系统及应用,因此可以全面地减少硬件成本。

2. 什么是 Xen

Xen 是由剑桥大学开发的一个开放源代码的 para-virtualizing 虚拟机( VMM ),或“管理程序 ”,是为 x86 架构的机器而设计的。 Xen 可以在一套物理硬件上安全的执行多个虚拟机; Xen 是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。

什么是虚拟机呢?可能大家知道 VMWARE 吧,是的, Xen 就是类似这样的程序,比如我们可以在 Fedora 上虚拟安装和使用 Slackware 、 Debian 、 Gentoo ... ... 等发行版。因为 Xen 是基于内核的,相对 VMWARE 来说,它占用的系统资源也就是 VMWARE 的百分之几左右。 Xen 是不是更有优势呢?只有您实践了才知道

=======================================================

刚看到一个评测:《主流虚拟机产品性能测试与对比》,比较的四款虚拟化产品中有VIRTUOZZO和XEN,估计VIRTUOZZO性能要比OpenVZ高些吧,结果如下:

1) CPU性能比较
VIRTUOZZO的性能比较接近物理机,VIRTUOZZO > XEN
2) 内存性能比较
VIRTUOZZO的性能表现突出比较接近物理机的内存性能, VIRTUOZZO > XEN
3) 磁盘IO性能比较
VIRTUOZZO的磁盘写性能表现突出,而VMware和Xen的磁盘写性能表现一般

4) Web应用性能比较
1.新建性能比较:
VIRTUOZZO > XEN
2.并发性能比较:
XEN > VIRTUOZZO

5) 网卡性能比较
1.百兆网卡吞吐量(throughput):
基本持平,且与物理主机相当
2.百兆网卡延迟(Response Time):
基本持平,且与物理主机相当
3.千兆网卡吞吐量(throughput):
XEN > VIRTUOZZO
4.千兆网卡延迟(Response Time):
基本持平

=======================================================

openvz属于jail性质的,和xen完全不是一回事。jail技术是虚拟化成熟之前的一种常用技术,提供进程、文件系统等等的隔离,使得进程崩溃不会影响整体服务,部分服务损坏不会是整台硬件停机.但随着业务需求的发展,jail不能满足需要了。比如资源划分无法(或很难)配置,核心死掉所有服务完蛋。 同时随着资源整合、动态划分的概念兴起,以及对不间断服务的更高要求(伴随低成本),以及异构软硬件平台的合并(需要全虚拟化)。使得(真正的)虚拟化兴起。
jail和虚拟化都可以做到隔离,但虚拟化更彻底,更强大。

=======================================================

下面是对于 XEN 和 OPENVZ 做PHP服务器的性能测试:

(结果是XEN要好,但仅对他测试的硬件标准,具体情况具体分析,貌似惠普又说OPENVZ 比XEN 好)

Since 2bits moved into using VPS (Virtual Private Servers) when Xen became available we did not have to directly use other technologies, such as Virtuozzo, OpenVZ (free version of Virtuozzo), or the older User Mode Linux.

However, two recent cases proved what we have suspected for a long time: that indeed Xen is superior to competing technologies when it comes to performance.

In one case, a client contacted us for tuning a slow system. The system gets some 75,000 page views per day on weekdays, and page generation times were 2 seconds or more, and was running on a Virtuozzo host.

2bits cloned the site on a test machine ran timing benchmarks, and found that it peformed faster on the test machine. Then we cut off the external traffic from the live machine using Apache LIMIT directives, and found that page generation times have not improved. Our recommendation to the client was to move to another host. They chose to go for a dedicated server, and that solved their problems.


推荐阅读
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 如何查看电脑系统版本_腾讯云服务器系统版本怎么看?Windows和Centos版本怎么选?...
    腾讯云服务器系统版本怎么看?想要知道自己的腾讯云服务器系统版本是哪个,可以登录云服务器后台管理系统查看,或者使用命令行查询,如果不会操作& ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
author-avatar
mobiledu2502891787
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有