我一直在试图找出在VMware 5.1上我们的SQL Server 2012最好的虚拟机configuration是什么。
VM主机有2个4核心运行超线程(总共16个CPUS)的插槽,我们在主机上总共有48GB的内存。
我们的SQL Server VM有8个vCpu和32 GB的内存分配,当查看SQL内部的CPUconfiguration时,据报道只有一个NUMA节点。 我担心的是32 GB的内存分配会跨越NUMA边界,从我的理解来看,这不会给我们带来最好的性能。
如何configuration我们的SQL虚拟机以最好地使用主机上的NUMAconfiguration? 有一篇文章build议在虚拟机中增加更多的vCpu,另一篇文章则在虚拟机上configuration一些高级设置,另一篇文章则将分配的内存量减less到50%。 (24 GB)
任何build议将不胜感激。
你是正确的,你通常要调整你的客人,所以它要么适合在一个单一的NUMA节点(狭窄)。 如果你在目前的情况下(通过内存或者CPU)广泛使用,我同意你进入每个主机configuration一个虚拟机。
很难知道狭义或广义是否更适合所讨论的虚拟机,而不了解SQL Server及其瓶颈问题。 但是一般情况下,内存在缓解SQL Server的IO压力方面非常强大,而且通常很有帮助 – 所以我认为你的长期计划是增加内存的数量,以便能够保持访客数量的不变,并为内存提供更多内存是健全的。
使用您的vSphere版本,您可以select使您的虚拟机NUMA知道,但这是一个非常具体的configuration设置。 这不是简单地在虚拟机上设置套接字/处理器的比例。
您正在查找的高级设置值是“numa.vcpu.maxPerVirtualNode”,在您的服务器上,您有两个物理套接字,每个物理套接字都有4个超线程核心,因此将该值设置为4.这将导致VMware分配4个虚拟CPUsockets。
对于超过8个vCPU的guest虚拟机,默认情况下启用,所以默认情况下它不会启用。 您将希望以相同的方式保持所有主机的configuration,因为迁移到具有不同NUMAconfiguration的主机可能是个坏消息。
更多信息:
我认为你已经为你的主机硬件configuration了虚拟机。 我尽量不要在这样的主机上跨越NUMA界限…所以你的8个vCPU计数是好的 ,但RAM需要下降到24GB或更less。 除非你知道你需要8个vCPU,如果你真的需要8个vCPU,那么硬件应该更大。
这是一个很好的细节 。
另请参阅: 具有英特尔E5-2630 NUMA的HP DL360pfunction?
在这个环境中还会运行哪些其他系统? 你的群集容量如何? 你会有多less个主机?