web-dev-qa-db-ja.com

SQL Server 2016以降のMAXDOPの設定

私はMSドキュメンテーションregを調べていました:SQL2016を開始するMAXDOPをデフォルトで有効になっている自動ソフトNUMAとして設定し、現在のSQ2014およびSQL2012バージョンに変更を加える方法について混乱します:

MSDNリンク- https://docs.Microsoft.com/en-us/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option? view = sql-server-2017#Guidelines

現在のSQL2012/2014設定:

Logically Processors =80
Numa Node=4
Physical RAM= 512GB
MAXDOP=8 and CTOP=5
HyperThreading enabled ='True'

では、SQL2016以降に移行した後の変更点は何ですか?現在のセットアップのMAXDOPは保持されなくなり、調整する必要がありますか?はいの場合、MSは何を提案していますか?

これを設定した経験を共有してください。

3
BeginnerDBA

ハイパースレッディングを有効にすると、現在4つのハードNUMAノードがあり、それぞれに10個の物理コアと20個の論理コアがあります。 SQL Server 2012および2014では、それぞれ20の論理コアを持つ4つの一致するソフトNUMAノードがあります。

SQL Server 2016以降にアップグレードすると、自動ソフトNUMAが自動的に起動します。ハードNUMAノードごとに2つのソフトNUMAノードがあり、合計で8になります。ソフトNUMAノードは、ハードNUMAごとに偶数と奇数のCPUにストライプします。ノード。たとえば、ソフトNUMAノード0にはスケジューラ0、2、4、6、8、10、12、14、16、18が含まれ、ソフトNUMAノード1にはスケジューラ1、3、5、7、9、11、13が含まれる場合があります。 、15、17、19。

あなたが参照したブログ投稿は理解するのが難しいですが、「複数のNUMAノードを持つサーバー」カテゴリ(4つある)および「NUMAノードあたり16を超える論理プロセッサ」カテゴリ(ある20)。結果として推奨されるのは、「MAXDOPをMAX値16のNUMAノードあたりの論理プロセッサ数の半分に保つ」であるため、MicrosoftはMAXDOPを10に変更することを推奨しています。

これは、大規模サーバーでの私の経験とは一致しません。なんらかの問題が発生しない限り、MAXDOPは8のままにしておきます。シナリオでIMOを8から10に変更しても意味がなく、明確な利点なしに新しい変更が導入されるだけです。私は公開されたガイダンスにどのように同意しないかについてブログを書きました here

3
Joe Obbish