IIS 10.0 プロセッサ アフィニティ機能が NUMA ハードウェアで動作しない
この記事では、IIS スレッド プールの理想的な CPU 最適化が有効になっている場合に、インターネット インフォメーション サービス (IIS) 10.0 プロセッサ アフィニティが非均一メモリ アクセス (NUMA) ハードウェアで機能しない問題を解決する方法について説明します。
元の製品バージョン: インターネット インフォメーション サービス 10.0
元の KB 番号: 4041818
現象
プロセッサ アフィニティ機能は、IIS 10.0 のすぐに使用できない NUMA ハードウェアでは機能しません。
アプリケーション プールに割り当てられている特定のワーカー プロセスを特定の CPU に割り当てるかどうかを指定できます。 これを行うには、アプリケーション プールの設定をsmpAffinitized
、 および指定されたアフィニティ マスクとsmpProcessorAffinityMask2
共smpProcessorAffinityMask
に使用できます。
ただし、NUMA サーバーで実行されている IIS 10.0 では、プロセッサ アフィニティを有効にし、アフィニティ マスクを CPU のサブセットのみを示すように設定した場合でも、ワーカー プロセスは使用可能なすべてのプロセッサに割り当てられます。
注:
- この問題は、NUMA 以外のハードウェアには適用されません。
- タスク マネージャーから各ワーカー プロセスのプロセッサ アフィニティをチェックできます。 これを行うには、次の手順を実行します。
- [詳細] を選択します。
- [w3wp.exe] を選択します。
- アフィニティを設定します。
原因
この問題は、IIS 10.0 で新しい機能である IIS スレッド プールの NUMA ハードウェアの理想的な CPU 最適化が有効になっているために発生します。
既定では、この機能は有効になっています。 この機能は、すべての NUMA ノードのすべての CPU に負荷を均等に分散することで、IIS のパフォーマンスを最適化します。 ただし、この設定は指定されたプロセッサ アフィニティと競合します。
回避策
この問題を回避するには、プロセッサ アフィニティを指定する場合は、NUMA サーバーで IIS スレッド プールの理想的な CPU 最適化 を無効にします。 これを行うには、次のレジストリの値を 1 から 0 に更新します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ThreadPoolUseIdealCpu
解決方法
この問題を解決するには、IIS を IIS 10.0 RS3 などの新しいバージョン (使用可能な場合) にアップグレードします。
関連情報
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示