ソフト NUMA (software non-uniform memory access) を使用するように SQL Server を構成するには、レジストリを編集してノード構成 affinity mask を追加する必要があります。ソフト NUMA マスクは、バイナリまたは DWORD (16 進数または 10 進数) レジストリ エントリとして記述できます。ソフト NUMA を構成するには、データベース エンジンを再起動する必要があります。ソフトウェア NUMA を構成する前に、「Non-Uniform Memory Access について」と「SQL Server での NUMA のサポート状況」を参照してください。
レジストリを誤って編集すると、システムに重大な障害が発生する場合があります。レジストリを変更する前に、コンピュータ上のすべての重要なデータをバックアップしてください。
この例では、8 個の CPU が搭載されたコンピュータにハードウェア NUMA がありません。3 つのソフト NUMA ノードが構成されています。データベース エンジン インスタンス A は、CPU 1 から 4 を使用するように構成されています。データベース エンジンの 2 つ目のインスタンスがインストールされており、CPU 5 から 8 を使用するように構成されています。この例は、次のように視覚的に表されます。
CPUs 1 2 3 4 5 6 7 8
Soft-NUMA <-N0--><-N1-><----N2---->
SQL Server <instance A ><instance B>
非常に多くの I/O が発生するインスタンス A には、2 つの I/O スレッドと 2 つのレイジー ライタ スレッドが存在するようになります。一方、プロセッサに負荷が集中する操作を実行するインスタンス B には、1 つの I/O スレッドと 1 つのレイジー ライタ スレッドしかありません。異なる量のメモリをこれらのインスタンスに割り当てることができますが、ハードウェア NUMA とは異なり、どちらもオペレーティング システムの同じメモリ ブロックからメモリを受け取るのでメモリおよびプロセッサ間の関係はありません。
-
インスタンス A で次のステートメントを実行し、CPU affinity mask を設定して CPU 1、2、3、および 4 を使用するように構成します。
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'affinity mask', 15;
RECONFIGURE;
GO
-
インスタンス B で次のステートメントを実行し、CPU affinity mask を設定して CPU 5、6、7、および 8 を使用するように構成します。
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'affinity mask', 240;
RECONFIGURE;
GO
メモ : |
|---|
|
この例の affinity mask 値は、32 ビット オペレーティング システムが実行されているコンピュータに適用されます。
|
処理手順
NUMA ノードに TCP/IP ポートをマッピングする方法
概念
affinity mask オプション
ヘルプおよび情報
SQL Server 2008 の参考資料の入手