web-dev-qa-db-ja.com

1つのサーバー上のすべてのSQLインスタンスに沿ってCPUを分割する最良の方法

2つのNUMAノードを備えた40のCPU(ハイパースレッド)を備えた物理サーバーがあります。このサーバーには20のSQL Serverインスタンスがインストールされており、各インスタンスに専用のCPUが割り当てられていることを確認する必要があります。

問題は、1つ以上のインスタンスがすべてのCPUを使用している場合に、約4または5つのインスタンスがCPUリソースを使い果たして失敗することです。

すべてのインスタンス間でCPUを分散させて、各インスタンスに最低でもいくつかのCPUを割り当てる最善の方法は何ですか?

3
user3213459

SQL Serverのインスタンスで使用されるプロセッサアフィニティを構成するには、インスタンスを右クリックし、[ プロパティ->プロセッサ ]を選択します。

プロセッサーの親和性

プロセッサを特定のスレッドに割り当てて、プロセッサのリロードを排除し、プロセッサ間でのスレッドの移行を減らします。詳細については、アフィニティマスクサーバー構成オプションを参照してください。

これにより、インスタンスごとに特定のプロセッサを割り当てることができます。ただし、これを正しく行うには、常に注意を払い、調整する必要があるため、一般に、自分が何をしているのかを本当に理解していない限り、アドバイスはしません。

続行する場合は、試行する前に アフィニティマスクサーバー構成オプション について読むことを強くお勧めします。また、TechNetおよびいくつかの基本的な チュートリアル ガイドラインは Microsoft Support にあります。

4
Mr.Brownstone