我们有一个性能问题,我们无法用我们的VMWare环境来解释,我希望这里的人能够提供帮助。我们有一个使用数据库后端的web应用程序。我们在Windows2003Windows 2003 R2上在物理节点和虚拟节点之间设置了SQL2005群集。两台物理服务器都是相同的2950's,有2xXeaon x5460四核CPU和64 2x内存,16 2x分配给操作系统。我们正在为所有集群磁盘使用iSCSI San。问题在于,当应用程序在重复的压力测试下将pCPU添加到集群节点时,物理节点从1 pCPU扩展到8 pCPU,这意味着性能将继续提高。在测试运行Vsphere的节点时,由于是虚拟的,我们将获得预期的12%的性能,但是我们仍然可以从1 vCPU扩展到4个vCPU,比如物理的,但是在这个性能下降之后,当我们看到性能下降到8个vCPU时,我们会看到性能比4个vCPU差。同样,这两个节点在硬件、Guest OS、SQL配置等方面的配置是相同的,除了系统上的测试之外,没有其他流量。虚拟服务器上没有其他VM,因此不应该对资源进行竞争。我们已经联系了VMWare寻求帮助,但他们并没有提出任何建议,比如设置SQL的亲和力,这虽然很有帮助,但对每个框都有相同的净效果,而且不应该改变我们的结果。我们已经查看了所有VMWare关于VSphere的SQL调优指南,没有任何好处,请帮助!
发布于 2010-06-10 02:20:33
我不太愿意把这个作为答案,因为我对此没有太多的具体支持,但这可能是你看到的问题的原因。我以前听说过( 这页面有点支持它),当一个VM有多个CPU时,VMWare CPU调度就更困难了。对于单个CPU VM,只需要调度一个主机处理器。但是,当VM有多个时,VMWare必须为VM调度多个处理器,这可能需要更长的时间。随着VM CPU数量的增加,这将变得越来越困难,这意味着VM实际上看到了更糟糕的性能,因为它很难获得分配给它的处理器时间。
此外,我还重读了您的上一条评论,最近我在vSphere中的争论中也出现了问题。您可能想尝试的另一件事(如果您还没有)是增加这个VM的资源分配,尽管它是目前唯一的VM。
发布于 2010-06-09 18:08:58
你在这里做得很好;-)
vCPU是否已经习惯了它们的最大容量?CPU等待、CPU准备就绪和CPU使用情况的图表告诉您什么?
随着更多的vCPU增加到VM中,就会在主机系统上生成更多的开销,以管理vCPU并将它们映射到物理系统。从某种程度上说,只要添加更多的vCPU,就不会从VM中获得更高的性能。
您是否检查过iSCSI SAN上是否存在性能问题?检查图表、磁盘读取和磁盘写入请求,当然还有磁盘读写速率,并将它们与物理集群成员的图进行比较。
也许其中的一些值可以为你指明正确的方向。
发布于 2010-06-09 18:28:36
为了澄清,您正在使用一个8核(2x4) ESX框来承载单个8 vCPU虚拟机,并且没有看到第5个和以后的vCPU真正的性能提高,对吗?我可以问一个问题,为什么您不使用同一台主机作为物理SQL框呢?你已经在那里使用了5-6K美元的Enterprise许可证,这似乎是没有好处的(即使你没有看到性能问题)--我不觉得很遗憾。
https://serverfault.com/questions/149735
复制相似问题