Ho un problema con un gestore asincrono nell'app web ASP.NET distribuita. In primo luogo mi permetta di spiegare un caso d'uso:NuovoRelico, gestore HTTP asincrono e AcquireRequestState
- applicazione utilizza IIS 8 su win 2012 macchina con .NET Framework 4.5.2
applicazione ha disattivato i moduli di sessione e di autenticazione tramite web.config come questo
<system.webServer> .... <modules> <remove name="WindowsAuthentication" /> <remove name="Session" /> <remove name="FormsAuthentication" /> </modules> </system.webServer>
applicazione utilizza gestore web asincrone personalizzato per soddisfare la richiesta specifica
- applicazione ha un traffico molto pesante (circa 50k richieste al minuto per server, del gestore async ha ab out 10k richieste al minuto per server tutti monitorati da NewRelic)
- applicazione è distribuita tramite diversi processi w3wp (2 processi w3wp) e più server virtuali (circa 10 server)
- applicazione ha elevata quantità di connessioni
Tutte le normali (richieste di sincronizzazione) funzionano bene ma la richiesta asincrona che fa un po 'più di lavoro (è per questo che usiamo richiesta asincrona) è spesso lenta ma NewRelic segnala che è lento a causa di "AcquireRequestState". Ora ho cercato su google e stack overflow e questo evento è collegato alla creazione di una sessione, ma abbiamo sessioni disabilitate in web.config. Qualcuno sa cos'altro potrebbe fare "AcquireRequestState"? Ci manca qualche posto per rimuovere lo stato della sessione? Aggiungendo che da web.config per machine.config non ha fatto nulla ...
Ecco un frammento da una richiesta in NewRelic:
**Slowest components Count Duration % **
AcquireRequestState 1 12,600 ms 100% --> WTF?
ExecuteRequestHandler 1 5.01 ms 0%
Integrated Pipeline 1 0.334 ms 0%
UpdateRequestCache 1 0.3 ms 0%
EndRequest 1 0.168 ms 0%
AuthenticateRequest 1 0.161 ms 0%
Total time 12,600 ms 100%
EDIT: ho <sessionState mode="Off" />
in web.config (<system.web>
sezione) quindi non è così.
IINM, non stai caricando i moduli, ma Session è ancora "abilitato" (predefinito) - re: '' in 'system.web' Hth ... –
EdSF
I have < sessionState mode = "Off" /> in web.config, quindi non è così. Verrà modificato per aggiungere informazioni –
Questo browser è specifico (solo IE) o per tutti? ... Trovato questo articolo: https://forums.iis.net/t/1169137.aspx – LGSon