热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

购买VPS如何选择OpenVZ和Xen

openvz和xen两个都是linux的虚拟化平台,作为两个Linux的虚拟化平台,他们有什么区别呢,我们选购VPS的时候是选openvz还是xen呢,下面我们来比较它们的区别以及如何选择。openvz是一个操作系统级虚拟化平台,基于修改过的linux内核来支持多种linux虚拟环境(

openvz和xen两个都是linux的虚拟化平台,作为两个Linux的虚拟化平台,他们有什么区别呢,我们选购VPS的时候是选openvz还是xen呢,下面我们来比较它们的区别以及如何选择。

openvz是一个操作系统级虚拟化平台,基于修改过的linux内核来支持多种linux虚拟环境(更多指虚拟专用服务器)。

修改过的openvz内核隔离文件系统,内存,为每个虚拟环境分配进程,并为openvz vps管理员提供root权限和跟独立服务器一样的命令集。

Xen通过一种叫做半虚拟化的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失 2%,在最糟的情况下会有 8% 的效能耗损;与其它使用完全的虚拟化却造成最高到 20% 损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有极佳的表现。

它们都作为系统级虚拟化平台的主要区别是,xen vps管理员能直接修改linux的内核模块,并能使用swap内存以满足vps内存突然占用过高的需求。

主要区别

使用较少的资源

硬性内存限制(没有交换分区)

有限制的修改iptables

使用较多的资源

软性内存限制(有交换分区)

无限制修改iptables

根据你的需求选择合适的虚拟化平台

openvz vps主要优点在于速度和稳定性。openvz平台能满足大多数虚拟专用服务器的需求,是比较合理的选择。OpenVZ的比Xen使用更少的资源。

Xen vps主机优点是内存使用比较灵活,它能满足内存使用突然超过限制时的需求。如果你运行java环境,编译应用程序和视频解码,那你就得考虑xen平台了。

结论:普遍来说,xen比openvz贵,主要原因是因为openvz可以超卖,而xen则不能。xen对于网站则相对稳定,因为有swap分区。但是如果你的网站经常需要swap,那你就得考虑升级内存了,因为这样运行性能降低很多。选用xen或是openvz,这得看性价比了。
网友的评价:
1. 人说 Buffer cache 在 xen 中,可以提高性能。但可同等价位下 Xen 512M,OpenVZ 可买到 1G(2G Burst)。在这样的条件下 Xen 那少得可怜的 RAM,程序都不够用了,更没有多少空间在 Buffer cache 上了。

而 OpenVZ 下更多的内存用于程序,Buffer cache 计入在 Host OS 内存中的,性能更佳(不超卖的话)

2. 人说 Xen 可以用 SWAP,慢但不会 down 机。可是不要呼略一点,? SWAP 仅用于保存当前非运行中的程序。“真正”的高并发的情况下,512 M RAM + 4G SWAP Down 机的风险要高于 1G(2G burst) + 0 SWAP。

再打个比方,个人电脑中内存少,你是跑出去买内存,还是不停增加 SWAP?

3. Xen 高定制化,但在同一台 Host 上,必竟是虚拟化主机,就没有过多定制需求了。何况特性上 Provider 已尽可能定制成服务器更优化了。个人非必能定制得这么优化吧,必竟服务器不是你的。

4. 有人说 Xen 下编译性能要比 OpenVZ 快,但很少有普通用户拿 VPS 当编译器吧?这种性能比较,大多出现在企业内部。你不会买 Photonvps当企业编译服务器用吧,那企业也太抠门儿了。

5. 同样的 Xen 响应速度要比 OpenVZ 差,个**验,原因不明。

6. Xen 一样可超卖,网上也有很多被超卖的贴子。只要是软件都会有漏洞。

7. 关于 Xen 比 OpenVZ 更可预期的问题。我的理解如下。

Xen 半虚拟化下,个每个 Guest kernel 都有自己庞大的独立运作机制,要达到高效硬件资源协调,比基于完善的 Linux kernel 的虚拟化容器要困难得多。

举一个例子:以前公司以项目为单位的,所有人都属于项目,大家同一个意识在做同一个项目,很顺畅。后来公司引进矩阵项目管理。发现,当分出来很多‘可复用’部门后,由于每个部门被很多
项目复用,他们同时在做项目 A,B 时,只能按一个项目的思路走(A),对另外担当的项目工作效率很低下(B)。半虚拟化可能面临时样的‘协调问题’。当每个 Kernel 都有自己的想法时,动作和?果变得‘不可预期’了


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • docker增加restart=always, docker重启后自动启动容器的方法
    本文介绍了在运行docker容器时如何添加参数来保证每次docker服务重启后容器也自动重启的方法,以及如何使用命令来更新已启动的容器。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
author-avatar
隔壁老吴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有