Microsoft – IIS – Limitando o uso de Processadores no Application Pool (IIS 7.5 e 8.0)
Para restringir seu Application Pool a rodar em processadores específicos, você deve primeiramente identificar quantos processadores você possui e depois passar o parâmetro em hexadecimal para o IIS.
Vou utilizar no exemplo abaixo um servidor com 8 cores.
No exemplo, irei forçar o Application Pool a executar no processador 0 apenas. (Lembrando que sempre inicia do “0”, logo, 8 cores = 01234567)
Este procedimento é muito útil quando você tem que compartilhar a máquina de produção com dev/qas/hom, etc….
Vamos lá!
– Vá no seu IIS -> Application Pools e identifique o aplication pool que deseja limitar.
– Clique com o botão direito e depois em “Advanced Settings”.
– Agora vá até “CPU” e localize “Processor Affinity Enabled”. Altere esse parâmetro para true.
– Com este parâmetro alterado você agora deve marcar quais processadores deseja utilizar em “Processor Affinity”. (Parâmetro Default 4294967295)
– Utilize a tabela abaixo para determinar o uso dos processadores:
Exemplos de decimal para 8 processadores:
Binario Valor IIS (Dec) Descrição
00000001 1 Utiliza apenas o processador 0
00000011 3 Utiliza os processadores 0 e 1
00000111 7 Utiliza os processadores 0, 1 e 2
00001111 15 Utiliza os processadores 0, 1, 2 e 3
00011111 31 Utiliza os processadores 0, 1, 2, 3 e 4
00111111 63 Utiliza os processadores 0, 1, 2, 3, 4 e 5
01111111 127 Utiliza os processadores 0, 1, 2, 3, 4, 5 e 6
11111111 255 Utiliza os processadores 0, 1, 2, 3, 4, 5, 6 e 7
Pronto!
Configurando desta forma você limitará o uso daquele aplication pool específico de maneira rápida e eficiente!
Ex utilizando o parâmetro 1 no Processor Affinity:
Lembrando que no IIS 8.0 (Windows Server 2012), existe também o parâmetro Throttle, que limita em % o uso de processadores.
Os demais parâmetros de CPU “Limit”, “Limit Action” e “Limit Interval”, são para outro propósito.
Eles limitam o “tempo de CPU” que será utilizado e quando você atinge o limite pré-estabelecido, você tem a opção de somente logar no sistema ou até mesmo matar o processo w3wp, reiniciando após o intervalo.
Binary to Hexadecimal Converter: http://www.binaryhexconverter.com/binary-to-hex-converter
bem legal o post. eu estava procurando para limitar o processo dentro de um processador, mas já vi que só no IIS8 que rola. no meu caso é o 7.