次の方法で共有


IIS 10.0 プロセッサ アフィニティ機能が NUMA ハードウェアで機能しない

この記事では、IIS スレッド プールの理想的な CPU 最適化が有効になっている場合に、インターネット インフォメーション サービス (IIS) 10.0 プロセッサ アフィニティが非均一メモリ アクセス (NUMA) ハードウェアで機能しない問題の解決について説明します。

元の製品バージョン: インターネット インフォメーション サービス 10.0
元の KB 番号: 4041818

現象

プロセッサ アフィニティ機能は、IIS 10.0 のすぐに使用できない NUMA ハードウェアでは機能しません。

アプリケーション プールに割り当てられている特定のワーカー プロセスを特定の CPU に割り当てるかどうかを指定できます。 これを行うには、smpAffinitized アプリケーション プールの設定を、指定されたアフィニティ マスクと共にsmpProcessorAffinityMasksmpProcessorAffinityMask2使用できます。

ただし、NUMA サーバーで実行されている IIS 10.0 では、プロセッサ アフィニティを有効にし、アフィニティ マスクを CPU のサブセットのみを示すように設定した場合でも、ワーカー プロセスは使用可能なすべてのプロセッサに割り当てられます。

Note

  • この問題は、NUMA 以外のハードウェアには適用されません。
  • タスク マネージャーから、各ワーカー プロセスのプロセッサ アフィニティを確認できます。 これを行うには、次の手順に従います。
    1. [詳細] を選択します。
    2. [ w3wp.exe] を選択します。
    3. affinityを設定します。

原因

この問題は、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 などの新しいバージョン (使用可能な場合) にアップグレードします。

リファレンス