在网上读过不少帖子/文章,包括 serverfault 上的几个问答帖子。然而,我对意见分歧感到很困惑。鉴于分享的大部分内容都是意见,我倾向于更多地依赖数据支持的分析。链接文本。我无法 100% 信任他们的唯一原因是他们使用的是 Windows 客户机,而我的情况是,我想要一个由同构的全 Linux 主机/客户机组成的设置,即主机是 CentOS,所有客户机也是 CentOS。此外,我相信可能有一些可调整的参数可以让 Xen/KVM 获得更好的性能。可能调整内核中断计时器(100Hz/250Hz 等)?
鉴于大多数云托管架构通常依赖于半虚拟化设置,我想知道它们是否真的在牺牲性能?对于运行数千台主机的公司来说,10% 的性能损失意味着 CAPEX 和 OPEX 的相当大一部分。
是否有人有一些研究材料(希望有数据/统计数据支持)可以显示哪种虚拟化更适合哪种类型的工作负载?特别是在所有 Linux 设置中?
我的要求是运行服务器,我的工作负载是:- 类型 1:rdbms,写入非常频繁 类型 2:rdbms,读取非常频繁 类型 3:媒体编码器(音频/视频)- 极其占用 CPU(整数和浮点数)和内存 类型 4:静态 HTML 分配器 类型 5:动态 HTML 应用引擎(业务逻辑)
计划的设置是针对 colo 私有云。
短暂性脑缺血发作,分钟
答案1
我无法提供数据或比较,但如果您使用的是 CentOS,我认为最好使用 KVM。原因是 - 这是由 Red Hat 开发和维护的虚拟机管理程序,而 CentOS 的来源并不是什么秘密。
为了获得最佳的虚拟机性能,请确保 IO 密集型虚拟机基于快速备份存储(例如 4 或 8Gb FC SAN 上的 raid 10 LUN),并且使用的磁盘格式为 RAW 而不是 qcow2(除非您绝对必须使用虚拟机磁盘快照)。当然,还要使用 virtio 磁盘和网络驱动程序
如果这是一个关键项目,您可能实际上想要选择 RHEV,因为它具有额外的功能并且易于部署,已经有不少云提供商广泛使用它。
答案2
如果你的虚拟机确实是同质的,即可以使用相同的内核版本,那么在性能和资源使用优化方面,更好的解决方案是使用操作系统级虚拟化,又称容器。
我更熟悉 Solaris,它提供区域作为成熟的实现,但 Gnu/Linux 在该领域不太先进,但它提供了值得研究的有趣解决方案:开放VZ,Linux虚拟服务器和龙芯
答案3
大多数云提供商都会提供足以满足希望托管几个中低级主机的典型用户需求的服务,当然这主要取决于供应商和价格,您需要支付相应的费用。
如果您正在寻找更多 IO 密集型操作,我建议您寻找可能为您提供混合或在某些情况下提供更好性能的主机,方法是询问他们在其云中使用哪种后端存储。
如果您正在寻找媒体流,一些云提供商将通过其渠道合作伙伴提供捆绑服务。
给我发送 ping 我有一些很好的建议,我想更多地了解这个项目,这听起来很令人兴奋。