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)
processor_affinity
– 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:

processor_01_full

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

Gostou? Curta nossa página no Facebook!

superti_curta

Você pode gostar...

1 Resultado

  1. Fabio Santos disse:

    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.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *