首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Server中使用NUMA节点

在Server中使用NUMA节点
EN

Database Administration用户
提问于 2020-03-11 21:07:15
回答 1查看 2.1K关注 0票数 1

我有一个问题要更好地理解NUMA节点如何在Server中提供帮助:

在我们当前的设置中,我们有4个NUMA节点,有20个核,并且启用了超线程,总共有40个逻辑处理器。内存为400 GB时,每个NUMA每个获得100 GB。

它是一个基于Windows2012 R2标准的SqlServer2012Enterprise(基于核心授权)的物理服务器。它有4个套接字,每个套接字有10个核心,每个套接字有20个逻辑处理器,我看到的错误日志总共有80个。

我的理解是,如果我们使用相同数量的NUMA (未来的SQL刷新到2017/19),而不是我更喜欢2 NUMA,那么4个NUMA节点的性能可能不会更好。

为什么我要这样说,因为我认为与2 NUMA 400 GB将被分配为200 GB在每个。

因此,我的理解是,根据查询在节点间切换内存的方式进行此配置,可能会执行更好或最好的配置。是的,我们看到了一些内存问题,我知道还有其他相关的问题,但是这个问题更具体的是为Server设置的NUMA。

有人可以分享他们的经验或可能提供更多的洞察力,因为我在这里可能认为错误的信念查询将不得不减少交换在2 NUMA与4 NUMA?

是否有一种方法或查询可以检查查询是否花费时间在两个不同的NUMA上交换内存,并且可能是一个问题?

对于未来的设计(跨节点内存访问),是否有一种方法可以衡量两个节点是否比四个节点工作得更好?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-03-13 20:10:53

它是windows 2012 R2标准上的物理服务器。它有4个套接字,每个套接字有10个核心,每个套接字有20个逻辑处理程序,从我所看到的错误日志中总共有80个。它的SQL2012试图移到2017年

好的。此框上的内存被分离成4个独立的节点,每个节点都连接到一个套接字上。Server将跨所有套接字使用内存,由于大部分Server内存用于缓存数据库页和查询计划,因此将有大量的跨节点内存访问。这也没什么。将在本地节点上为运行任务的工作人员分配查询内存授权。

Server有它为每个NUMA节点分配的几个资源,对于Server,2016+将使用自动软NUMA特性自动细分大型NUMA节点。

因此,一方面,对于服务器内存的物理配置,您无能为力;另一方面,您不需要做什么,因为SQL server将自动配置自己,以便最有效地使用NUMA节点。

是否有一种方法,我们可以衡量,如果2个节点可能比4个节点更好的未来设计?

基本上,更少的节点更好,但是在一个NUMA节点上可以放置多少个内核和多少RAM是有限制的。

大多数跨NUMA节点内存访问应该位于缓冲池中,您可以使用性能计数器跟踪该缓冲池:

Server:缓冲区节点远程注释页查找/秒表示来自此节点的查找请求的数量,这些请求来自其他节点。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/261739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档