我们目前正在VMWare Player中运行几个连续的构build/testing代理。 由于时间/速度问题,他们经常失败。 那就是:因为在同一个盒子里有两个虚拟机,他们争夺(例如)磁盘访问,并且大大减慢速度。
升级到VMWare工作站(或服务器或ESXi)是否会改善问题,还是应该为其中一个代理请求物理盒?
除非您真的需要使用播放器/工作站/服务器获得的主机客户端function,否则我总是build议使用ESXi–它的function更强大,性能更稳定,性能更高。 显然它是在这一点上的专注,但这是你付出的代价。
ESX(i)就是所谓的“types1pipe理程序”:直接在主机硬件上运行的专用虚拟化操作系统,具有对硬件资源的完全访问和控制; 播放器/工作站/服务器是“第2类pipe理程序”:它们是在底层操作系统(Windows或Linux)上运行的应用程序 ; 他们必须通过它来访问硬件,这是ESX(i) 肯定更好的主要原因; 表演的差别简直令人惊叹。
也就是说,如果性能很关键,虚拟化显然不是最好的select。 无论您使用的虚拟化系统如何,尽pipeESX(i)在pipe理它们方面做得非常好,但是两个虚拟机无论如何都将争夺硬件资源。 除非主机上每个虚拟机消耗的资源超过两倍,否则将无法顺利运行; 这意味着,如果每个虚拟机需要2个内核和2个内存,则主机至less需要4个内核和5个内存(当然还有一些虚拟化开销),以满足他们的需求。 关于磁盘I / O,您可以做的最好的事情是将两个虚拟机放在不同的物理磁盘上; 不是分区或卷 :您必须实际使用不同的物理磁盘才能使它们不争夺磁盘I / O。
正如Chopper所说,ESX和VMWare播放器之间的区别是惊人的(公平地说,HyperV服务器和Virtual PC之间的区别)。 这是虚拟化交付方式的根本性改变,这对客户操作系统非常有利。
然而 ,要知道它的速度是否足够满足您的需求,唯一的方法就是testingtestingtesting…尽pipe我喜欢虚拟化解决问题的能力,但它并不总是一切的答案。 我们在这里有一些“性能关键”的任务,我们没有看到自己很快就会迁移到虚拟机。
我想说的不仅仅是ESXi,而是将其与您将要在生产中运行的内容尽可能地匹配。 你最终会有更less的惊喜。