O IIS interrompe o encadeamento de solicitação com status 995

10

Temos um site em que temos problemas no servidor de produção, mas não na minha máquina de desenvolvimento com a solicitação sendo abortada (portanto, resposta zero).

Ele falha após exatamente 1:19 minutos de cada vez, e a solicitação na minha máquina de desenvolvimento leva aproximadamente 1:44.

O tamanho do conteúdo é de cerca de 650 KB, portanto não deve ser um problema.

O ambiente de produção é o Windows 2008 com IIS7. O ambiente de desenvolvimento é o Windows 7 com IIS 7.5.

Eles têm web.config idêntico, mas a configuração da máquina difere um pouco (embora eles devam ser padrão na instalação)

O que poderia estar causando isso?

Ao olhar no log de acesso, a linha diz 0 byte em resposta pelo código win32-win5 995, que deve ser 0, esta é a última coluna da linha de acesso:

sc-status sc-substatus sc-win32-status sc-bytes time-taken
200       0            995             0        76933

995 parece estar relacionado a "thread abortado" ou algo assim, por isso estou meio confiante de que é o IIS que anula a solicitação. o processo w3wp.exe parece funcionar por algum tempo, mesmo depois que a solicitação foi interrompida, portanto, acho que o aplicativo Web nem percebe até que seja hora de gravar no fluxo de saída.

EDIT: Tentei agora com conexões diferentes e parece que meu firewall interrompe a conexão por falta de dados (prematuramente). Daí o código 995.

jishi
fonte
O padrão "minBytesPerSecond" é 240, o que resultaria em 46 minutos, mas você poderá ver alguns tempos limite ajustados dinamicamente (o IIS faz isso com base em dynamicIdleThreshold, se não 0).
Eckes

Respostas:

0

Eu tenho o mesmo problema, no meu caso, o adaptador de rede é a causa do sc-win32-status 995. O que você mudou no Firewall para evitar isso? No gerenciador de dispositivos => adaptador de rede => propriedades => avançado, você pode definir várias configurações relacionadas à rede

Cerveser
fonte
Nosso firewall tinha um ALG para HTTP configurado, o que cortaria a conexão após 120 segundos se nenhum dado fluir através dele. Acabei de desativá-lo para o IP em questão.
jishi
0

Tente verificar a configuração "ExecutionTimeout" no ASP.NET. O padrão para isso parece ser 110 segundos, semelhante ao que você está denunciando:

http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

Isso pode estar presente em qualquer uma dessas configurações:

  • Machine.config
  • Web.config no nível raiz
  • Web.config no nível do aplicativo
  • Web.config no nível do diretório virtual ou físico

Espero que isto ajude.

Mark Wragg
fonte