Share via


O recurso de afinidade de processador do IIS 10.0 não funciona no hardware NUMA

Este artigo fornece informações sobre como resolver o problema em que a afinidade de processador do IIS (Internet Information Services) 10.0 não funciona no hardware NUMA (acesso à memória) não uniforme se a otimização ideal do CPU do pool de threads do IIS estiver habilitada.

Versão original do produto: Serviços de Informações da Internet 10.0
Número de KB original: 4041818

Sintomas

O recurso de afinidade do processador não funciona em hardware NUMA fora de caixa no IIS 10.0.

Você pode especificar se um determinado processo de trabalho atribuído a um pool de aplicativos deve ser atribuído a uma CPU específica. Para fazer isso, você pode usar a configuração do smpAffinitized pool de aplicativos junto com as smpProcessorAffinityMask máscaras de afinidade especificadas e smpProcessorAffinityMask2 .

No entanto, no IIS 10.0 em execução em um servidor NUMA, um processo de trabalho ainda é atribuído a todos os processadores disponíveis, mesmo que você habilite a afinidade do processador e defina a máscara de afinidade para indicar apenas um subconjunto de CPUs.

Observação

  • O problema não se aplica ao hardware não NUMA.
  • Você pode marcar a afinidade do processador de cada processo de trabalho do Gerenciador de Tarefas. Para fazer isso, siga estas etapas:
    1. Selecione Detalhes.
    2. Selecione w3wp.exe.
    3. Definir afinidade.

Motivo

O problema ocorre porque um novo recurso, a Otimização ideal do CPU do Pool de Threads do IIS para hardware NUMA, está habilitado no IIS 10.0.

Por padrão, esse recurso está habilitado. O recurso otimiza o desempenho do IIS distribuindo cargas uniformemente em todos os CPUs de todos os nós NUMA. No entanto, essa configuração entra em conflito com a afinidade do processador especificada.

Solução alternativa

Para resolver esse problema, desabilite a Otimização ideal do CPU do Pool de Threads do IIS em um servidor NUMA se você quiser especificar a afinidade do processador. Para fazer isso, atualize o valor do seguinte registro de 1 para 0:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ThreadPoolUseIdealCpu

Resolução

Para corrigir esse problema, atualize o IIS para uma versão posterior, como o IIS 10.0 RS3, quando ele estiver disponível.

Referência