IIS Thread Pool Ideal CPU Optimization for NUMA hardware
Compatibility
Version | Notes |
---|---|
IIS 10.0 | IIS Thread Pool Ideal CPU Optimization for NUMA hardware was introduced in IIS 10.0 |
IIS 8.5 and earlier | IIS Thread Pool Ideal CPU Optimization for NUMA hardware was not supported prior to IIS 10.0 |
Ideal CPU setting for NUMA hardware
Starting from Windows Server 2016, IIS 10.0 supports automatic ideal CPU assignment for its thread pool threads to enhance the performance and scalability on NUMA hardware. This feature is enabled by default and can be configured through the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ThreadPoolUseIdealCpu
With this feature enabled, IIS thread manager makes its best effort to evenly distribute IIS thread pool threads across all CPUs in all NUMA nodes based on their current loads. In general, it is recommended to keep this optimization enabled for NUMA hardware.
Note
The ideal CPU setting is different from the worker process NUMA node assignment settings (numaNodeAssignment and numaNodeAffinityMode) introduced in CPU Settings for an Application Pool. The ideal CPU setting affects how IIS distributes its thread pool threads, while the worker process NUMA node assignment settings determine on which NUMA node a worker process starts.
Summary
IIS 10.0 has added thread pool ideal CPU optimization for NUMA hardware.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for