次の方法で共有


NUMA シナリオ

更新 : 2006 年 4 月 14 日

多くの CPU が搭載されたコンピュータでは、専用メモリと CPU を組み合わせることで、NUMA (nonuniform memory access) ハードウェアはパフォーマンスを大幅に向上できます。このトピックでは、特定のシナリオでパフォーマンスがさらに向上する NUMA、CPU 関係、および接続関係の構成についていくつか説明します。次に、このような構成に影響を与える設定を示します。

効果的なシナリオ

NUMA を使用すると、次のシナリオが頻繁に検出されます。

A. NUMA 関係に対してポートがありません。

これは、ハードウェア NUMA と SQL Server 2005 の単一インスタンスが存在するコンピュータでは既定の状況です。すべてのトラフィックは、1 つのポートを経由して入り、使用可能なすべての NUMA ノードにラウンド ロビン方式で分散されます。NUMA を使用すると、メモリと CPU アクセスの局所性が向上し、I/O スレッドとレイジー ライタ スレッドの数が増加します。一度確立された接続の範囲は、そのノードに設定されます。これにより、NUMA ノード間で自動的に負荷が分散されます。クライアント アプリケーションは 1 つのポートだけに接続でき、簡単に配置できます。

接続で任意の NUMA ノードを使用

B. 優先度の高いアプリケーションのパフォーマンスを向上させるため、1 つのポートを複数のノードに関連付けます。

1 つのポートを複数のハードウェア NUMA ノードに関係付けて、優先度の高い主要アプリケーションにサービスを提供します。2 つ目のポートは別のハードウェア NUMA ノードに関係付けて、2 つ目の補助アプリケーションにサービスを提供します。2 つのアプリケーションのメモリと CPU リソースは不均衡な状態で固定されます。主要アプリケーションには、補助アプリケーションの 3 倍のローカル メモリと CPU リソースが割り当てられます。データベース エンジンの 2 つ目のインスタンスを補助アプリケーションにし、同じデータベース エンジンのインスタンス (または同じデータベース) の重要度の低い機能を実行させることができます。この結果、優先される接続に追加のリソースを割り当てることにより、優先スレッド実行の形式が実現します。

1 つのポートから複数の NUMA ノードに接続

C. 複数のポートを複数のノードに関連付けます。

複数のポートを、同じ NUMA ノードにマッピングできます。これにより、さまざまなポートに異なる権限を構成できるようになります。たとえば、対応する TCP エンドポイントでの権限を制御することにより、ポート経由で行われるアクセスを厳密に制限できます。この例の場合、ポート 1450 はイントラネットで広範囲に使用可能です。ポート 1433 は、ファイアウォール経由でインターネットに開かれていますが、アクセスは厳密に制限されています。どちらのポートも、NUMA の利点を同じくらい最大限に活用しています。

複数のポートから使用可能なすべての NUMA ノードに接続

参照

概念

Non-Uniform Memory Access について
SQL Server 2005 での NUMA のサポート状況

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 4 月 14 日

変更内容 :
  • シナリオの例を示すために、改訂したグラフィックを追加しました。
  • シナリオ B を明確にしました。
  • 現実性の低いシナリオ D を削除しました。

2005 年 12 月 5 日

変更内容 :
  • このリリースでは、NUMA のトピックがすべて再構成され、多くの新しい情報が追加されました。このトピックは新しいものですが、内容の多くは他のトピックから移されました。