Instâncias altas de mensagens com zero de janela

4

Em meus servidores da web, estou vendo uma alta taxa (106 ao longo de ~ 13 segundos ou 300.000 pacotes) de zero mensagens de atualização de janela enviadas dos meus servidores da web para meus servidores de banco de dados durante o pico de tráfego.

O firmware é atualizado:
Eu atualizei o firmware e o driver para as versões mais recentes que o dell fornece para os cartões BCM5709C.

O TCP Offload está ativado:
Desativando o fato de ver um "Total de Conexões TCP de Descarregamento Total" ativo na interface do Broadcom Advanced Control Suite (BACs), o descarregamento do TCP está ativado. Eu também não vejo a CPU atrapalhando nos servidores.

O dimensionamento de janelas está ativado:
O dimensionamento de janelas está ativado, mas não é muito usado. Eu vejo 20 pacotes com o Window Scaling em 300.000 pacotes.

Estatísticas:
O tempo médio de ida e volta é de ~ 2MS com um máximo de ~ 3 MS. O uso da CPU nos servidores da Web não está chegando a um pico.

Perguntas:

  1. Eu não acredito que os buffers devam estar preenchendo tanto nos servidores web.
  2. As outras métricas ao lado da CPU devem ser observadas para ver por que os buffers estão sendo preenchidos?
  3. Dado que tudo está atualizado, devo procurar ajustar os parâmetros TCP em meus servidores web Windows 2008 Server R2? Que ajustes devo fazer se esse for o caso?
por Kyle Brandt 14.02.2011 / 19:06

2 respostas

2

A questão já está um pouco envelhecida. Não tenho certeza se ainda não foi resolvido, mas ainda assim tentarei alguns conselhos sobre solução de problemas.

Primeiro, é importante verificar onde os anúncios de janela zero ocorrem. Em certos pontos da troca de protocolo, pode ser perfeitamente válido que eles estejam lá, se o servidor da web simplesmente não espera que nenhum dado retorne como uma resposta em um determinado momento e talvez tenha definido o buffer de recebimento como 0 para um determinado soquete ou tem o buffer de recebimento preenchido simplesmente não buscando nada de lá por um tempo. Depurar isso exigiria conhecimento do protocolo (melhor ainda as implementações) usado.

Você não deve precisar ajustar qualquer valor dos parâmetros TCP para qualquer configuração de LAN comum, o TCP é principalmente auto-ajustável, exceto para casos extremos, como redes com latências variáveis ou perda imprevisível de pacotes.

    
por 12.05.2011 / 23:01
1

Eu nunca corri para isso, mas tenho um palpite de que o problema está na camada de aplicativo. Eu começaria olhando os contadores de perfmon relacionados aos processos da web. O "Internet Information Services (IIS) 7.0 Resource Kit" eo "Consultor de bolso do Internet Information Services (IIS) 7.0 administrador" ambos têm informações sobre monitoramento e ajuste de desempenho, infelizmente, nenhum deles é gratuito.

link

link

EDITAR:

Um método possível de rastrear isso (reconhecidamente muito bruto) seria parar temporariamente os serviços da Web no servidor e baixar um arquivo grande ou um grande número de arquivos pequenos para o servidor da Web e ver se você tem o mesmo zero condição da janela. Se você fizer isso, provavelmente poderá excluir quaisquer problemas de recurso com os serviços da Web como a causa. Se você não fizer isso, poderá concentrar todos os seus esforços na análise do uso de recursos dos serviços da Web para encontrar a causa.

    
por 14.02.2011 / 19:31