Degradação de desempenho inexplicável ao mover do IIS6 para o IIS7

3

Recentemente, transferimos nosso aplicativo ASP.NET 4.0 da VM Windows2003 x64 / IIS 6 para uma nova VM RC2 / IIS 7 (7.5) do Windows 2008 x64. Os recursos são idênticos 4GB de memória, 4 CPU, ambos vivem no mesmo host ESX. Eu tentei combinar todas as definições de configuração, cache, compactação etc. entre os dois. No entanto, de acordo com o monitoramento de desempenho externo por ambos, o alertite e o gomez, os tempos de resposta dobraram desde a transição.

As médias do "tempo até o primeiro byte" aumentaram em alguns décimos de segundo. O tempo de entrega do "conteúdo" aumentou em um segundo inteiro em toda a linha. O "download de página inteira" aumentou vários segundos em toda a linha.

Para confundir ainda mais as coisas, começamos com um farm windows2008 de dois nós, usando o ncache para a sessão de cluster e um balanceador de carga brocade, e observamos um aumento de 2 a 5 vezes nos tempos de resposta. Em seguida, voltamos para apenas um servidor e ignoramos o balanceador de carga para voltar a um aumento de 2 vezes nos tempos de resposta.

O fato de que o balanceador de carga piorou as coisas e que a maior parte do aumento do tempo de resposta estava nas métricas download / página base e download completo, me faz pensar que é algo relacionado à rede ou pelo menos no nível IIS , onde simplesmente não está respondendo tão rápido quanto o IIS6.

Espero ter ignorado algumas configurações importantes, porque não consigo entender como a atualização do sistema operacional e a duplicação dos recursos (adição do segundo nó) resultaram em pior desempenho.

Sei que isso não é muita informação, por isso estou apenas procurando por sugestões sobre onde procurar ou como diagnosticar isso. Sugestões sobre quais perfmon contadores de olhar, o que procurar e o que eles significam ajudaria. Suposição selvagem bem-vinda.

    
por JNappi 16.09.2011 / 00:44

2 respostas

2

Atualizando a resposta, pois o blog não está mais em serviço. A resposta aqui foi rodar a transferência do TCP Offloading para o adaptador de rede através das configurações avançadas do adaptador (IP4 e IP6). Em 2011, quando essa pergunta foi feita, muitos dos drivers de rede para as placas NIC não lidavam bem com essa operação e diminuíam drasticamente os sistemas operacionais. Isso normalmente não se apresenta mais, pois os drivers e o software de virtualização melhoraram drasticamente desde então.

    
por 16.09.2011 / 01:57
0

Você está executando o pool de aplicativos no modo "Clássico" ou no modo "Integrado"? Há alguma sobrecarga introduzida pela execução no modo "Clássico" que você pode querer examinar. Você pode ler mais sobre isso aqui . Observe que seu aplicativo pode não ser capaz de executar apenas no modo "Integrado" sem algumas pequenas alterações para funcionar harmoniosamente no pipeline do IIS7.

Tudo isso dito, eu não tenho certeza se isso explicaria exatamente a sua situação ... especialmente se você está realmente falando sobre servir conteúdo baseado no sistema de arquivos estáticos. Se você tiver manipuladores personalizados no meio, certamente pode estar relacionado.

    
por 16.09.2011 / 01:01