我已移动来自 StackOverflow 的这个问题,因为在这里提出它更有意义
我们已决定为一些开发服务器采用虚拟化解决方案。我知道如果我们购买单独的物理服务器,硬件规格会是什么样的,但我不知道如何将这些信息整合到通用虚拟服务器的规格中。
我凭直觉知道这些规格不是可加的——我不应该只是把每台机器的所有 RAM 要求加起来,以获得虚拟服务器所需的 RAM。我也不能真正将它们视为并行系统,因为无论虚拟化软件有多好,它都无法抽象出两台试图同时占用 CPU 的服务器。
所以我的问题是 - 给定底层虚拟机的硬件需求估计,是否存在一种标准方法来估计虚拟化系统的硬件需求? VMWare/MS 虚拟服务器开销是否存在 +C 常数(如果有,C 是多少?)?
答案1
虚拟服务器利用了大多数服务器不会长时间满负荷运行的事实,并且可以共享 CPU 周期/内存。因此,这实际上取决于虚拟机的繁忙程度。
这还取决于您使用的虚拟环境,以及它共享内存的能力。(我似乎记得,当我尝试使用 XEN 时,根本没有内存共享 - 但我认为现在情况已经改变了)。
开发环境是让您熟悉虚拟环境的最佳场所,如果需要的话,能够在大约 5 分钟内“创建一个新服务器”非常方便(甚至允许您在紧急情况下暂时过度分配资源)。
举例来说,我们可以在 5 台物理服务器上使用 VMWare Infrastructure 托管大约 100 台虚拟机。每台物理机都有 4 个双核 Xeon 2.6Ghz CPU、16Gb Ram 和 8 个千兆网卡。(因此每台物理机上平均有 20 台虚拟机)。我们发现最大的限制是可用内存量。
我可以说,在虚拟环境中工作了几年之后,我就不想再回去了。
希望这可以帮助。
答案2
交叉发布自如何提高 Hyper-V 性能:
根据我的经验,磁盘 I/O 是最大的瓶颈。经过多次试验,我们为标准 Hyper-V 服务器确定了以下配置:
- 戴尔 PowerEdge 2970
- 双四核 AMD 处理器
- 16GB 内存
- 8 个 146GB SAS 15,000 硬盘(RAID 10)
- 折扣后成本:3000 美元
我们可以在每个盒子上舒适地运行 6-10 个客户机,执行类似的事情(CI、开发服务器、负载测试等)。