我们从一家小公司购买了一些软件,这是一个Windows 32位video内容工作stream程pipe理器,他们有一些定制。
我们在W2K3EE-32位VMWare ESXi 4.1u2虚拟机(这是他们支持的)上运行这个代码一年来一直工作的很好。
然后他们在一个月左右的时间里更新了他们的代码,我们开始看到其中一个vCPU定期挂100%,第二个vCPU相当闲置,比如5-7% – 所以我们只是假设代码的线程严重并且联系了他们它。
他们现在回到我们这里说他们的代码在虚拟机里是行不通的,他们已经知道这个需求18个月左右,而且他们希望我们能够V2P。 他们说,他们在虚拟机内部运行时只能看到这个问题。 我和他们的高级程序员打了几个小时的电话讨论。
现在幸运的是我们有一些我们可以做的事情,有点耗时,但是可以做到。
我的问题是,鉴于这个虚拟机不直接接触任何硬件,是在一个非常现代的主机,实际上有非常低的要求(2 x vCPU,4GB,20GB启动虚拟磁盘,100GB数据虚拟磁盘,单个虚拟网卡,没有别的)什么可能是在虚拟机中运行它的问题,如果有的话?
显然,我强烈追求与他们,但我只是想知道是否有其他人已经find了一个正常的应用程序,不知何故在虚拟机内部,而不是在物理上。
虽然我不能说这个供应商或软件包,但我曾在一家大型(跨国)供应商工作,他们销售的软件中有一个在VMware上运行时具有非常明确的已知问题。
在这种情况下,一个问题可能导致软件死锁,另一个可能导致数据损坏。 因此,build议客户不要在虚拟环境中运行软件。 有些人仍然这样做,在所有我知道的情况下,他们遇到了一个或两个问题。
因此,虽然很less发生,但在某些情况下,软件可能无法达到您预期的VMware性能。
虽然我意识到这并不能直接帮助你解决问题,但它确实表明VMWare并不总是完美的系统。
脚注:在这种情况下,供应商能够使用VMware来查找解决scheme(一些代码修复,一些VMWareconfiguration更改),现在他们有一些关于如何在VMWare上运行软件的(非常具体的)指导。
使用ESX v5和Monster VM限制(32vCPU 1TB RAM),虚拟机出现问题的应用程序数量正在减less。 我所经历的大部分是: – 依赖时间线性(实时进程或需要线性时间的应用程序…通常可以调整) – 导致大量硬件中断或上下文切换的应用程序
在大多数情况下,你应该能够问你的VMware代表与那些家伙交谈。 我相信VMware仍然有一个团队致力于使事情发生(早期他们有一个支持实验室)。
至于解决scheme,我有一个类似的问题与高CPU使用率的虚拟机(但主机有足够的CPU资源免费)。 我们通过迁移到具有Nehalem CPU的服务器并更改EVC中的CPU兼容级别(如果您拥有DRS / HA的集群)
我看到了与VMware ESX + Debian 6 + OpenLDAP 2.4.x类似的问题(不pipeOpenLDAP的确切版本是什么apt-gettable …)。
在日常的操作中,它可以正常运行,但是导入一个大约40万条LDIF文件的速度非常慢(比物理服务器慢50-100倍)。 此外,长时间,高容量的基准testing一切都在几毫秒的响应时间顺利进行,但偶尔会出现500到25 000(!)毫秒的奇怪峰值。
物理服务器我无法重现这些问题。 是的,我花了大约三个星期的时间试图隔离问题,将所有参数从操作系统参数调整到slapd值到BerkeleyDB值…没有任何帮助。