虚拟化有很多好处,但有时虚拟化服务器需要更多的性能,应该转移到物理上。
我的问题是,你怎么知道这些时间? 我正在寻找可测量的数据和指标,显示将服务器移动到自己的物理盒子将会对性能产生重大影响。 就我个人而言,我对Windows感兴趣,但大概所有平台的要素都是一样的。
我必须执行一个V2P的一个例子是MS SQL盒子,它运行在双3.2Ghz双核CPU(总CPU 14.4Ghz)上,我们迁移到了一个ESX 2.5集群,其中底层硬件更新,更多较慢(2.4Ghz IIRC)内核。 即使使用4个vCPU,这个虚拟机只能增加10%的开销,只能获得有效的8-8.5Ghz总CPU。 在迁移之前,60%的CPU峰值在迁移后达到90-100%,客户希望有足够的空间,因此我们恢复了物理。 为了明确回答你的问题,我们看到在Perfmon和VI客户端中,这个盒子在100%的CPU上运行。 一个更好的解决scheme(在我看来)将升级到更快的CPU,但也有这样的边缘情况下,这是不经济的,尤其是随着我们看到的Opteron \ Core CPU的更多核心的趋势。
使用ESX 4,我们可以将这样一个盒子撞到8个vCPU,但是那个时候不是这个选项。
至于寻找可能表明您需要放弃虚拟机的性能上限,然后在VMWare环境中使用Windows Guest虚拟机,则Perfmon和VI Client的组合应该不仅仅是find任何性能受限的虚拟机。 如果可以的话,可以添加一些SAN分析,但是如果SAN出现问题,那么您几乎可以肯定地重新操作存储,以便隔离和/或增强虚拟机虚拟磁盘的存储容量。 同样适用于任何其他操作系统\虚拟机pipe理程序组合 – 获取任何内部统计信息,但将其与虚拟机pipe理程序关于发生的事情相关联,因为在虚拟机内报告100%的CPU并不一定意味着pipe理程序永远无法交付更多的performance,只是它没有在这一点上。
我不同意虚拟服务器因为性能而需要移动到物理上。 虚拟机pipe理程序现在非常接近金属,几乎没有性能问题。 特别是现在很多主板制造商都在芯片组中包含虚拟机pipe理程序。 如果你使用了两台相同硬件的服务器,一台运行一个guest虚拟机,另一个在物理硬件上运行该guest虚拟机的精确拷贝,那么你很难注意到我认为性能的差异。
还有其他的原因,你可能需要物理服务器而不是虚拟的。 其中之一是硬件兼容性。 如果您的应用程序需要具有自己的独特总线的非标准硬件,则可能无法在虚拟机中运行该硬件。
我很想听听其他人有什么要说的。 伟大的问题。
注意:我们有虚拟化的服务器,然后放回到相同的硬件上,以获得我们喜欢的快照/ vmotionfunction。
我不是这方面的专家,但总的来说:非常饥饿的I / O应用程序(特别是那些写得小而快的应用程序)是获得自己的物理服务器的人。
find它们也不是很难,你只需运行性能监视器,并寻找高I / O等待时间。
另外,高端数据库通常会有自己的专用服务器,原因如下:
这非常依赖于正在执行的服务。
我通常会查看正在使用的资源,并确定它们是否确实是这个客户以及它提供的服务的瓶颈。
这样就这样:
如果你有一个双核(2vSMP),4GB RAM的客户机运行一个networking服务器(IIS),并且你没有最大化的CPU和RAM请求,那么也许客人不需要更多的硬件。
我们已经遇到了在虚拟化平台上运行Oracle数据库的情况,与同样大小的硬件服务器性能接近的情况。
显然,如果你想把一个16核心的服务器当成虚拟机,你可能会遇到一些麻烦,看到它的性能和专用硬件。
当虚拟机饿死资源(或者也许饿死其他虚拟机资源),例如:
当服务器处于消耗足够的服务器资源而无法共享硬件的时候,我会说它。
ESX,ESXi和Window Hyper V都应该能够提供接近真实的性能。 所以只要其中一台机器本身不占用90%的资源,就不需要转移到真正的硬件上。
例外情况是,如果硬件发生故障,您不希望像2个域控制器那样的东西在同一个盒子上。
我怀疑这是一个通用的答案,但如果你担心性能,那么这就是你必须看的。 显而易见的是要检查你是最大限度地CPU,I / O,…
而且, 性能testing和基准testing还可以帮助您决定是否有任何虚拟惩罚,以及主机上是否有单个虚拟机是否合理。
您首先需要确定哪些资源是瓶颈。
Windows性能监视器( perfmon )为磁盘队列,虚拟内存统计等各个方面提供了大量的计数器。
如果你是磁盘绑定的,让虚拟机直接访问一个磁盘,而不是使用VMWare的vmx文件,这可能会有很大的帮助。
我认为这一切都取决于两个因素:
只是我的2cts。