IIS 10.0 处理器相关性功能在 NUMA 硬件上不起作用
本文提供有关解决 Internet Information Services (IIS) 10.0 处理器相关性不适用于非统一内存访问 (NUMA) 硬件(如果启用了 IIS 线程池理想 CPU 优化)的问题。
原始产品版本: Internet Information Services 10.0
原始 KB 编号: 4041818
症状
处理器关联功能不适用于 IIS 10.0 中的现装 NUMA 硬件。
可以指定是否应将分配给应用程序池的特定工作进程分配给特定的 CPU。 为此,可以将 smpAffinitized
应用程序池设置与 smpProcessorAffinityMask
和 smpProcessorAffinityMask2
指定的关联掩码一起使用。
但是,在 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 升级到更高版本,例如 IIS 10.0 RS3。
参考
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈