limitação da cpu do IIS7

1

Eu tenho procurado habilitar o Limite de CPU para um site.
Em Configurações avançadas para o pool de aplicativos apropriado, defina o
Limite de CPU: 95000
Ação limite: NoAction
Intervalo de Limite: 5

Depois de deixar isso por uma noite, verifiquei os logs de eventos para ver com que frequência o processo de trabalho teria sido reciclado. Para o meu horror, teria feito isso a cada poucos minutos, o que implica que o servidor foi maximizado por grande parte da noite que é incorreta, o uso de CPU total registrado nunca chega a mais de 50%.

Usando o Gerenciador de Tarefas, o Gerenciador de Recursos e o PerfMon durante o dia e ajustando os valores acima, todos concordaram que o uso geral da CPU foi em média 13%, mas o PerfMon diferiu quando você observou o uso da CPU do processo individual (contador: Process \% Process Tempo (w3wp) relatando média de 30% a 40% Esse contador conseguiu atingir os 300% altos, que depois de ler aqui é porque é uma soma de todo o uso em todos os núcleos e não é normalizado como os outros contadores. Agora, meu problema parece que a limitação de CPU do IIS baseia sua decisão nesse contador e, portanto, deseja reciclar o processo incorretamente.

Esta é uma instalação de edição padrão do windows 2008 x64 em bare metal, quad core, o IIS é a única função instalada. Configurei o BIOS e o gerenciamento de energia do Windows para desempenho, pois imaginei se o aumento ou a diminuição da velocidade da CPU poderia ter afetado isso, mas ainda não aconteceu.

Eu não preciso diagnosticar o uso de CPU alta, só queremos ter o processo corretamente reciclado, se chegar a um nível elevado.
Eu suponho que devo ter perdido alguma configuração de dependência em outro lugar, e agora com prejuízo de como implementar corretamente essa limitação de cpu.

    
por snoopy-do 18.01.2013 / 05:14

1 resposta

0

Para obter um número semelhante em Perfmon, você precisa dividir o registro de saída obtido em Perfmon pelo número de CPUs no Sistema. Observe que o Perfmon e o TaskManager usam maneiras diferentes de coletar essas informações.

Por exemplo - eu tenho uma VM com 3 vCPUs - o máximo que um processo pode chegar é 300%, então eu simplesmente divido o registro de Perfmon desse processo por 3.

    
por 18.01.2013 / 08:20