我把这个问题从 StackOverflow 移了出来,因为把它放在这里更有意义
我们决定为我们的一些开发服务器使用虚拟化解决方案。如果我们购买单独的物理服务器,我知道硬件规格会是什么样子,但我不知道如何将这些信息整合到通用虚拟服务器的规范中。
我直观地知道规格不是附加的——我不应该只是将每台机器的所有 RAM 要求相加来获得虚拟服务器所需的 RAM。我也不能真正将它们视为并行系统,因为无论虚拟化软件有多好,它都无法抽象出试图同时固定 CPU 的两台服务器。
所以我的问题是——在给定底层虚拟机的硬件需求估计的情况下,是否有一种标准方法来估计虚拟化系统的硬件需求?VMWare/MS 虚拟服务器开销是否有 +C 常量(如果有,C 是什么?)?
虚拟服务器利用了这样一个事实,即大多数服务器不会长时间以容量运行,并且可以共享 cpu 周期/内存。因此,这实际上取决于您的虚拟机有多忙。
它还取决于您使用的虚拟环境,以及它共享内存的能力。(我似乎记得当我尝试使用 XEN 时根本没有内存共享——但我认为现在已经改变了)。
开发环境是让您体验虚拟环境的完美场所,如果需要的话,能够在大约 5 分钟内“创建一个新服务器”非常方便(甚至允许您暂时过度分配资源)在紧要关头)。
例如,我们可以在 5 台物理服务器上使用 VMWare 基础架构托管大约 100 台虚拟机。这些物理机中的每一个都有 4 个双核 Xeon 2.6Ghz CPU、16Gb 内存和 8 个千兆网卡。(所以平均每台都有 20 个虚拟机)。我们发现我们最大的限制是可用内存量。
我可以说,在虚拟环境中工作了几年,我不想回去了。
希望这可以帮助。
来自如何提高 Hyper-V 性能的交叉发布:
根据我的经验,磁盘 I/O 是最大的瓶颈。经过大量实验,以下是我们为标准 Hyper-V 服务器确定的内容:
我们能够在每个机器上轻松地运行 6-10 个客人,做类似的事情(CI、开发服务器、负载测试等)。