首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建议计数是否取决于计算机上的总处理器,还是取决于单个NUMA节点中的处理器?

建议计数是否取决于计算机上的总处理器,还是取决于单个NUMA节点中的处理器?
EN

Database Administration用户
提问于 2022-05-15 00:39:21
回答 1查看 379关注 0票数 -2

辅助数据文件的数量取决于机器上(逻辑)处理器的数量。通常情况下,如果逻辑处理器的数量小于或等于8个,则使用与逻辑处理器相同的数据文件数。如果逻辑处理器的数量大于8个,则使用8个数据文件。

链接:https://learn.microsoft.com/en-us/sql/relational-databases/databases/tempdb-database?view=sql-server-ver15#physical-properties-of-tempdb-in-sql-server

在服务器属性处理器一节中,我可以看到有2个NUMA节点,每个节点有12个处理器。在SQL错误日志中,我可以看到:SQL Server detected 24 sockets with 1 cores per socket and 1 logical processors per socket. 24 total logical processors.

代码语言:javascript
复制
Automatic soft-NUMA was enabled because SQL server has detected hardware NUMA nodes 
with greater than 8 physical cores. 

看起来这台计算机有4个物理处理器节点,每个节点有6个逻辑处理器。在这个场景中,推荐的tempdb数量的值是多少,这取决于NUMA节点的数量还是每个NUMA节点的逻辑处理器总数或逻辑处理器的数量?

我之所以问这个问题,是因为之前的DBA已经将tempdb文件的数量设置为6(这是单个NUMA节点中的逻辑处理器数量)。根据上面的MSDN链接,我理解最好的做法是将tempdb文件的数量配置为8个或更多,递增为4 (12、16、20、24)。

EN

回答 1

Database Administration用户

发布于 2022-05-15 01:15:39

TempDB数据文件配置通常基于全部逻辑CPU,而不考虑NUMA计数。

添加数据文件的典型原因是在单个文件中创建和删除对象时,GAM、SGAM或PFS的锁定。与用户数据库的数据文件不同,对象经常在TempDB中不断创建和删除。通过添加数据文件,您可以通过将这些操作扩展到其他文件来克服这一限制。随着CPU数量的增加,单个数据文件中出现更多争用的可能性也随之增加。

多年来,我一直遵循链接文档中提到的一般指导原则。设置TempDB数据文件计数等于CPU计数,最多为8。即使在16+ CPU的系统中,我也将创建8个文件。只有在观察到争用的情况下,TempDB才会添加更多的内容,增量为4。

当谈到其他配置(如MAXDOP )时,与NUMA相关的限制的一般原因是试图在同一个内存库上运行单个查询。在这种情况下,您不希望查询分散在不同NUMA节点上的CPU核心上。但是,对于TempDB争用,您处理的是运行在更严重的查询上的所有查询,而不仅仅是并行的单个查询的范围。因此,您不关心NUMA。

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

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

复制
相关文章

相似问题

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