web-dev-qa-db-ja.com

SQL Serverが推奨するNUMAのMAXDOP設定

私はOLTP SQL 2008 R2 Enterprise Editionで実行されているSQLデータベースを使用しており、ライブプロダクションに移行した後の数か月間はかなり忙しい(5000バッチ/秒)かもしれません。サーバー構成の調査ただし、MAXDOPの設定については、このフォーラムの一般的なコンセンサスである一般的なコンセンサスとして、並列操作が必要なタスク(たとえば、インデックスの再構築や並列処理のコストしきい値を高い数値に変更するなど)のサーバー全体のMAXDOP設定を0のままにしておくことです。デフォルトではなく15または20 5)。

ただし、このサーバーにはNUMAノードがあり、これらのMSサポート記事に基づいています http://support.Microsoft.com/kb/329204

http://support.Microsoft.com/kb/2023536

コストのかかる外部メモリアクセスを防ぐため、物理プロセッサのMAXDOP =コア数を設定することをお勧めします。

このサーバーには、各ソケットに16個の論理(8個の物理)コアを持つ2個の物理プロセッサーがあります。そのMSサポートKBによって提案されたガイドラインはまだ良いですか?

すべてを試してテストする必要があることはわかっていますが、私の目標は、MAXDOPを理論上の最適な数に設定し、後で必要に応じて調整することです。これに基づいて、MAXDOP設定を8に設定する必要がありますか?

3
SQL Learner

通常、クライアントにはMAXDOPをそのままにしておくことをお勧めします。 SQL ServerはNUMAに対応しているため、プロセッサがどのNUMAノードにあり、メモリがどのNUMAノードにあるかを認識しており、目的のデータの正しいNUMAノード上のスケジューラに作業を割り当てるのが最善です。 。

この種のものを調べるには、NUMAノードの数を知る必要もあります。各物理プロセッサは独自のNUMAノードにありますか、それとも同じNUMAノードにありますか?

4
mrdenny