Windows 8.1. IIS 8.5. versioni SignalR:SignalR fa bloccare IIS dopo la ricostruzione
<package id="Microsoft.AspNet.SignalR" version="2.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.1.2" targetFramework="net451" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.1.2" targetFramework="net451" />
Ogni volta che ricostruire il mio progetto/soluzione, IIS picchi di utilizzo massimo della CPU e non posso ricaricare la mia pagina. Ho controllato procmon.exe e riporta una quantità enorme (> 20 000/s) delle operazioni "RegOpenKey/RegQueryKey" come questi:
Date & Time: 19.11.2014 10:47:20
Event Class: Registry
Operation: RegQueryKey
Result: SUCCESS
Path: HKLM
TID: 23272
Duration: 0.0000059
Query: HandleTags
HandleTags: 0x0
Date & Time: 19.11.2014 10:47:20
Event Class: Registry
Operation: RegOpenKey
Result: REPARSE
Path: HKLM\SYSTEM\CurrentControlSet\Services\SignalR\Performance
TID: 23272
Duration: 0.0000121
Desired Access: Read
Date & Time: 19.11.2014 10:47:20
Event Class: Registry
Operation: RegOpenKey
Result: NAME NOT FOUND
Path: HKLM\System\CurrentControlSet\Services\SignalR\Performance
TID: 23272
Duration: 0.0000062
Desired Access: Read
Questi sono i passi che uso per riprodurre questo problema:
- Tutto funziona correttamente.
- ho scrivere del codice e compilare
- SignalR fa una riconnessione con il trasporto WebSocket e ottiene questa risposta nell'intestazione di risposta: "HTTP/1.1 101 Protocolli di commutazione"
- faccio una richiesta e di lavoro IIS si blocca di processo e mai torna indietro O aspetto 2-3 minuti e le cose stanno funzionando di nuovo.
Lo sto sperimentando anche in IIS Express. Normalmente risolvo questo uccidendo il processo di IIS Worker e ricaricando. Si tratta di un problema di autorizzazioni? Attualmente il pool di applicazioni viene eseguito con il mio utente locale, ma ho provato Application Pool Identity con gli stessi risultati. Cosa dovrebbe essere in "HKLM \ System \ CurrentControlSet \ Services \ SignalR \ Performance"? Attualmente non esiste una chiave di registro del genere sul mio computer.
Le richieste sono continue per il tempo in cui si blocca, sì. Ho registrato ~ 13 000 in 0,3 secondi - tutti dello stesso tipo di quelli menzionati sopra. L'installazione del contatore delle prestazioni ha aiutato, quindi grazie mille per quello! – perkrihe