IIS interrompe il thread di richiesta con stato 995


10

Abbiamo un sito in cui abbiamo problemi sul nostro server di produzione, ma non sulla mia macchina di sviluppo con richiesta interrotta (quindi, risposta zero).

Non riesce dopo esattamente 1:19 minuti ogni volta e la richiesta sulla mia macchina di sviluppo richiede circa 1:44.

La lunghezza del contenuto è di circa 650 KB, quindi non dovrebbe essere un problema.

L'ambiente di produzione è Windows 2008 con IIS7, l'ambiente di sviluppo è Windows 7 con IIS 7.5

Hanno identico web.config ma la configurazione della macchina differisce leggermente (anche se dovrebbero essere standard dall'installazione)

Che cosa potrebbe causare questo?

Quando si guarda nel registro degli accessi, la riga indica 0 byte in risposta al codice win32 995 che dovrebbe essere 0 questa è l'ultima colonna della riga di accesso:

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

995 sembra essere correlato a "thread interrotto" o qualcosa del genere, quindi sono abbastanza sicuro che sia IIS che interrompe la richiesta. il processo w3wp.exe sembra funzionare per un po 'di tempo anche dopo l'interruzione della richiesta, quindi non credo che l'applicazione Web se ne accorga fino a quando non è il momento di scrivere nel flusso di output.

EDIT: Ho provato ora con connessioni diverse e sembra che il mio firewall abbia interrotto la connessione a causa della mancanza di dati (prematuramente). Da qui il codice 995.


Il valore predefinito "minBytesPerSecond" è 240, il che comporterebbe 46 minuti, ma potresti invece vedere alcuni timeout regolati dinamicamente (IIS lo fa in base a dynamicIdleThreshold se non 0).
Devo dire che

Risposte:


0

Ho lo stesso problema, nel mio caso la scheda di rete è la causa dello sc-win32-status 995. Cosa hai modificato nel Firewall per impedirlo? In Gestione periferiche => scheda di rete => proprietà => avanzata è possibile configurare diverse impostazioni relative alla rete


Il nostro firewall aveva un ALG per HTTP configurato, che avrebbe interrotto la connessione dopo 120 secondi se non vi fosse flusso di dati. L'ho appena disabilitato per l'IP in questione.
jishi,

0

Prova a controllare l'impostazione "ecuzioneTimeout "in ASP.NET. L'impostazione predefinita per questo sembra essere 110 secondi, il che è simile a quello che stai segnalando:

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

Questo potrebbe essere presente in una di queste configurazioni:

  • Machine.config
  • Web.config a livello di radice
  • Web.config a livello di applicazione
  • Web.config a livello di directory virtuale o fisico

Spero che sia di aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.