VM中“不支持”应用程序?


10

我们从一家小型公司购买了一些软件,这是Windows 32位视频内容工作流管理器,他们进行了一些自定义。

我们在运行W2K3EE-32位的VMWare ESXi 4.1u2 VM中运行此代码的工作已经超过一年了(他们支持在其上运行它)。

然后他们大约一个月后更新了代码,我们开始看到其中一个vCPU定期以100%固定,第二个vCPU处于闲置状态(例如5-7%),因此我们只是假设代码的线程不正确,并与他们联系。它。

现在,他们回到我们身边说,他们的代码在VM中不起作用,他们已经知道此要求18个月左右,并且希望我们对其进行V2P。他们说,他们只有在虚拟机中运行时才会看到此问题。我已经打电话给他们安排在几个小时内讨论的高级程序员。

幸运的是,现在我们可以进行一些物理操作,虽然有点费时但可行。

但是我的问题是,鉴于该虚拟机不直接接触任何硬件,而是在非常现代的主机上并且实际上具有非常低的要求(2个vCPU,4GB,20GB引导虚拟磁盘,100GB数据虚拟磁盘,单个vNIC等)如果有,可能是在VM中运行它的问题?

显然,我强烈地与他们一起追求这一点,但是我只是想知道是否还有其他人找到了常规应用程序,从而以某种方式在VM内而不是在物理上出现了异常。


两个vCPU是否都从同一CPU提取?您是否已设置每个真实核心直接映射到vCPU?您是否在做一些有趣的事情,例如在CPU上启用超线程?这些是一些问题,应该可以解决所有可能导致您的速度变慢的问题。与高级程序员交谈之后,您可能会有一个更好的主意,或者是如何解决可能由于在VM中运行而出现的问题,或者您肯定会知道他们是否做错了。可能只是代码是用Java编写的。
威尔希尔

我让ESXi在进程调度方面做自己的事,在> 55xx系列Xeons超线程中,“超线程”不被认为是“有趣的”,它的工作原理非常有用-顺便说一下,代码是.NET 3.5。
斩波器

我知道MySQL Cluster显然在虚拟化环境中也不“正式”运行。原因?不知道!:P
Ben Ashton'3

Answers:


3

虽然我无法代表该供应商或软件包,但我曾为一家大型(跨国)供应商工作,在该供应商中,他们出售的其中一件软件在VMware上运行时存在非常特定的已知问题。

在这种情况下,一个问题可能导致软件死锁,另一个问题可能导致数据损坏。因此,建议客户不要在虚拟环境中运行该软件。有些仍然存在,在我所知道的所有情况下,它们都遇到了一个或两个问题。

因此,尽管这种情况很少见,但在某些情况下软件可能无法如您期望的那样在VMware中运行。

尽管我意识到它并不能直接帮助您解决问题,但它确实表明VMWare并不总是完美的系统。

脚注:在这种情况下,供应商能够与VMware合作以找到解决方案(一些代码修复,一些VMWare配置更改),并且他们现在有了一些(非常具体的)指导,以指导如何在VMWare上运行该软件。


这正是我为之感到难过但很高兴听到的事情-正如我在Janne的答复中提到的那样,我们习惯于在VM中正常工作,以至于发现如此奇怪的情况让我有些困惑,说实话,因此至少听到您的消息,我并不孤单。我还没有从软件供应商那里得到任何积极的消息,但是我知道他们正在调查问题,尽管不幸,但是无法想象一个月左右的修复。再次感谢。
斩波器

3

借助ESX v5和Monster VM限制(32vCPU 1TB RAM),出现VM问题的应用程序数量正在减少。我经历过的大多数应用程序都是:-依赖于时间是线性的(实时进程或需要线性时间的应用程序...通常可以调整)-导致大量硬件中断或上下文切换的应用程序

在大多数情况下,您应该能够要求vmware代表与这些人交谈。我相信vmware仍然有一群人致力于使事情正常工作(在早期,他们为此提供了一个支持实验室)。

至于解决方案,我对具有较高CPU使用率(但主机具有大量可用CPU资源)的VM也有类似的问题。我们通过迁移到具有Nehalem CPU的服务器并更改了EVC中的CPU兼容性级别(如果您的集群具有DRS / HA)来解决了该问题。


谢谢您的回应-如果您的问题不是黑白问题,那么非常感谢您。您的示例非常有用,我将回过头来特别研究上下文切换。哦,我们所有的服务器都在统一设置EVC的完全相同的CPU(X5690)上,但是再次感谢。
斩波器

2

我已经在VMware ESX + Debian 6 + OpenLDAP 2.4.x中看到了类似的问题(无论OpenLDAP的确切版本是apt-gettable ...)。

在日常操作下,它可以正常运行,但是诸如导入带有40万左右条目的大型LDIF文件之类的操作非常慢(比物理服务器慢50-100倍)。同样,对于长时间的高容量基准测试,响应时间只有几毫秒,一切都可以顺利进行,但有时会出现从500到25,000(!)毫秒的奇怪峰值。

使用物理服务器,我无法重现这些问题。是的,我花了大约三周的时间试图找出问题所在,将各种参数(从操作系统参数调整到扩展值到BerkeleyDB值)……无济于事。


非常感谢您分享您的经验,我不能说我觉得这件事并不奇怪-我是经验虚拟化极客,而且我习惯了只能工作的事情,因此找到了可以完成此任务的应用程序在某种程度上动摇了我的信念,所以很高兴听到我没有处于孤立的境地。谢谢。
斩波器

1
另外两个例子:Atlassian的说,无论JiraConfluence不建议在虚拟机(器)环境中运行。这些异常必须有一种模式,我只是还没有弄清楚那可能是什么。我的OpenLDAP安装的I / O占用不是很高(基准测试期间写入速度为3 MB / s,并且在峰值期间没有太多的IOPS),它可能使用20-40%的CPU,以及大约150 MB的RAM。应该不会太难处理。也许与线程有关,但是vmstat报告上下文切换等处于正常级别。
Janne Pikkarainen 2012年

我目前的理论是,这与操作系统的计时有关。VMware过去曾遇到过各种奇怪的时钟问题,甚至现在有时您必须tsc=pit在引导过程中传递一些时髦的参数,至少OpenLDAP对系统时钟的准确性非常敏感。也许我应该追踪所有有问题的应用程序,看看它们是否都被大量使用gettimeofday()
Janne Pikkarainen 2012年

再次感谢您,关于VM中的时间,您是对的,它本来就无处不在,所以我会理解的,但是我不禁认为,即使那是一个问题,对于我们的供应商会在他们的代码中发现它们,请注意,它实际上不是时间敏感的应用程序,它只是抓取视频内容并对其进行处理,嗯,嗯。再次感谢。
斩波器
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.