我们目前正在 VMWare Player 中运行几个持续构建/测试代理。它们经常因时间/速度问题而失败。也就是说:由于同一台机器上有两个虚拟机,它们会争用(例如)磁盘访问权限,因此速度会大大减慢。
升级到 VMWare Workstation(或 Server 或 ESXi)是否会改善情况,还是我应该为其中一个代理请求一个物理机箱?
答案1
除非您真的需要 Player/Workstation/Server 提供的主机客户端功能,否则我始终建议使用 ESXi - 它的功能更强大、更稳定、性能更佳。显然,它目前是专用的,但这是您付出的代价。
答案2
ESX (i) 是所谓的“1 类虚拟机管理程序”:一种直接在主机硬件上运行的专用虚拟化操作系统,具有对硬件资源的完全访问和控制权;播放器/工作站/服务器是“2 类虚拟机管理程序”:它们是应用程序运行在底层操作系统(Windows 或 Linux)上;它们必须通过它来访问硬件,这是 ESX (i) 被确实更好;性能上的差异简直令人震惊。
也就是说,如果性能至关重要,那么虚拟化显然不是最好的选择。无论你使用哪种虚拟化系统,这两个虚拟机都会竞争硬件资源(尽管 ESX (i) 可以真的更好地管理它们);除非主机上有超过每台虚拟机所消耗资源的两倍的资源可用,否则它们将不是能够顺利运行;这意味着,如果每个虚拟机需要 2 个核心和 2 GB 内存,则主机将需要至少4 个内核和 5 GB 内存(当然会有一些虚拟化开销)才能满足其要求。关于磁盘 I/O,您能做的最好的事情是将两个 VM 放在不同的物理磁盘上;而不是分区或者卷:你必须使用不同的物理磁盘以使它们不竞争磁盘 I/O。
答案3
正如 Chopper 所说,ESX 和 VMWare Player 之间的差异令人震惊(公平地说,HyperV 服务器和 Virtual PC 之间的差异也是如此)。这是虚拟化交付方式的根本性变化,极大地造福了客户操作系统。
然而要知道它是否足够快以满足您的需求,唯一的办法就是测试……尽管我很喜欢虚拟化解决问题的能力,但它并不总是解决所有问题的答案。我们这里有一些“性能关键”任务,我们不会很快迁移到虚拟机。
答案4
我想说,不仅要使用 ESXi,还要尽可能地将其与你将在生产中运行的 ESXi 相匹配。最终你会遇到更少的意外。