VMWare 构建服务器的性能——糟糕或错误的测试?

VMWare 构建服务器的性能——糟糕或错误的测试?

我们正在研究虚拟化我们的 C++ Build 服务器。

主要原因是我们目前使用的工具链(除了 Visual Studio 中的构建本身之外)只能在 Windows XP(或 2003Server)上正常运行,次要原因是管理方便(只需克隆一个图像并准备在不同的硬件上运行)。

最后,设置应该很可能是每个硬件盒一个 VM,因为共享硬件对于 C++ 构建来说毫无意义,因为它无论如何都会最大限度地利用 CPU 和磁盘。

一位同事做了一些初步测试在他的开发工作站上,而且非常糟糕:

他测量了我们 Visual C++ 8(Visual Studio 2005)解决方案的完整构建时间如下:

  • Windows 7 桌面版/本机版:约 16 分钟
  • 带有虚拟磁盘的 Vmware Workstation,客户机是 Windows XP:~1h21min(500%!!!)
  • Vmware WS 直接访问专用物理磁盘且限制为 4 个核心:~42 分钟(260%!!)

按照这样的时间安排,我们当然不会采用虚拟方式!

我们现在问自己,我们的测量是否做出了错误的假设。

  • 我们是否弄乱了某些设置,导致 C++ 构建速度如此缓慢?
  • 我们是否应该测试 ESX(i)(?) 而不是 Workstation?
  • 我们还应该期待什么吗微软 Hyper-V?(因为我们的 IT 部门更喜欢这样。)

并没有真正完全帮助的相关问题:

答案1

我们是否弄乱了某些设置,导致 C++ 构建速度如此缓慢?

可能不是,VMWare Workstation 不是适合这项工作的工具。

我们是否应该测试 ESX(i)(?) 而不是 Workstation?

是的,它会比 Workstation 更好,虽然仍然比裸机慢,但要好得多。

我们还对 MS Hyper-V 有什么期待吗?(因为我们的 IT 部门更喜欢这样。)

如果您愿意,性能大致与 ESXi 相当,有些更快,有些更慢 - 请随意尝试一下。

答案2

客户机内部的性能统计数据 (Perfmon、性能监视​​器等) 表明其瓶颈是什么?虚拟机管理程序操作系统对于等效统计数据有何看法?

您使用的是半虚拟化驱动程序还是模拟驱动程序?

您正在测试的 PC 是否具有 IO 虚拟化扩展以及基本虚拟加速?它们是否已启用 BIOS?

答案3

虚拟化并不总是合适的……但是……您没有告诉我们开发人员工作站的任何规格。它有多少内存?有多少个核心?

您是否使用 /MP 标志运行编译?

虚拟机是否配置为内存过量使用?内存气球驱动程序是否启动过?主机操作系统上还运行着什么?(例如,您的测试虚拟机是否运行着防病毒软件,主机工作站也是如此?)

我肯定会在 ESXi 上进行测试 - 该虚拟机管理程序非常高效,并且将作为虚拟机的主机提供更好的性能。但您仍然必须应对内存和 CPU 占用问题。

相关内容