Ho un ruolo di lavoro in cui un numero di thread viene eseguito per gestire le connessioni dai client. Durante il test del carico, abbiamo notato che il ruolo non risponde e rimane in tale stato fino a quando non lo riavviamo. Guardandolo nel debugger di Visual Studio (mettendo in pausa il processo attivo), possiamo vedere un numero di thread in attesa ma quando non è pronto, non si verifica alcuna attività. Come faccio a sapere che cosa sta causando la permanenza del ruolo in quello stato?Il ruolo di Windows Azure non risponde
risposta
AS ha accennato al fatto che il problema ha iniziato a verificarsi con il ruolo di lavoratore quando si esegue il test di carico, è possibile presumere che il ruolo funzionasse correttamente inizialmente. Ciò porta alla conclusione che il problema è specifico dell'applicazione piuttosto che qualcosa di specifico della piattaforma. Ci sono due modi per ottenere alcune informazioni di diagnostica da Windows Azure VM:
Opzione 1 (preferito): Al fine di controllare ciò che sta accadendo nella vostra Azure VM, si ha realmente bisogno di aggiungere Windows Azure diagnostica con il tuo ruolo in modo da poter ottenere contatore delle prestazioni, dettagli della memoria, integrità del processo dei ruoli e altri dati trasferiti da Azure VM all'archivio di Azure che puoi analizzare offline.
Opzione 2: abilitare l'accesso RDP alla VM di Azure e quindi accedere alla VM di Azure e installare, Perfmon, Process Explorer e altri strumenti di monitoraggio della protezione nella VM di Azure e monitorare ciò che accade.
Opzione 3 (Last Resort): RDP al vostro Azure VM ed installare WinDBG ed eseguire il debug del processo host
In tale condizione quando si ha un ruolo di lavoro ha smesso di funzionare, questo è quello che davvero suggerire a nessuno:
- cercare CPU, pressione di memoria, elenco di thread e scoprire quali thread sono bloccati e quale potrebbe essere la ragione.
- Verificare l'integrità del processo host worker, quando è iniziato l'ultima volta, viene riciclato per qualche motivo, per quanto tempo è in esecuzione nella VM di Azure
- Se si dispone di un processo separato impostato come "ProgramEntryPoint" in il tuo ruolo di lavoratore, controlla la sua salute
- Controlla il registro degli eventi a livello di applicazione per qualsiasi indizio. Nel ruolo di lavoratore non vedo che ci sarà qualcosa nel registro degli eventi dell'applicazione, ma vale la pena dare un'occhiata.
- Uso Process Monitor per monitorare alcuni processi e raccogliere il registro per vedere quando il processo muore quale era l'ultimo stato, a cosa stava accedendo ed era affamato da altri problemi.
La linea di fondo è che è davvero necessario scavare la causa principale in Azure VM praticamente come in una macchina locale.
- 1. Ruolo web di Azure non avviato nell'emulatore di Azure
- 2. Indirizzo IP statico per il ruolo in Windows Azure?
- 3. In Windows Azure: quali sono il ruolo Web, il ruolo del lavoratore e il ruolo della macchina virtuale?
- 4. Come pianificare un'attività nel ruolo di Windows Azure Worker
- 5. Progetti Web nel ruolo Web di Azure
- 6. Alternative reali a Windows Azure PaaS (ruolo Web)?
- 7. Diagnostica di Azure non funziona nel ruolo di lavoratore
- 8. Windows Azure Worker Il ruolo non viene superato dalla prima riga del codice
- 9. Windows Azure con più siti in un ruolo non trasformando il secondo web.debug.config in web.config
- 10. Azure non risponde e/o è occupato, e adesso?
- 11. JavaFX ComboBox non risponde su Windows 10
- 12. Istanze e ruolo web di Azure
- 13. Directory virtuale nel ruolo Web di Azure
- 14. Recupero dell'URL DNS per il ruolo di Azure (lavoratore)
- 15. Modello ruolo Web Azure e MVC2
- 16. Backup/ripristino di Windows Azure Active Directory
- 17. È un ruolo di lavoro di Azure per una soluzione in locale disponibile tramite Windows Azure Pack o App Fabric
- 18. Azure Worker compatibillity ruolo con .Net 4.5.2
- 19. Qualcuno può dare indicazioni sull'installazione di TFS Build su un ruolo di Windows Azure
- 20. Distribuisci Unity3D in Windows Azure
- 21. Come distribuire solo il ruolo utente/web in Azure
- 22. Aggiornamento di aspnet.config su ruolo Web di Azure
- 23. L'endpoint interno per il servizio WCF non funziona sul ruolo Web di Azure
- 24. Esecuzione di un ruolo di Azure in più regioni?
- 25. Cosa fa apparire un processo come Non risponde in Windows?
- 26. Distribuire PDB in un ruolo Web di Azure
- 27. Come rintracciare gli errori all'avvio del ruolo Web di Azure?
- 28. Come eseguire RavenDb in Azure in un ruolo di lavoro
- 29. Avvio forzato dell'applicazione su ruolo Web di Azure
- 30. L'emulatore di Eclipse non risponde
Grazie per questo, davvero buoni consigli. Inizialmente, questo problema si presentava solo sul ruolo di lavoro in Azure, ma con alcuni aggiustamenti della nostra bardatura test, abbiamo iniziato a vederlo in fase di sviluppo. Abbiamo: * Configurazione diagnostica accesso remoto/Azure * Contatori Perf e registri eventi personalizzati impostati per rapporti specifici delle app Ci sono un certo numero di posti in cui vengono eseguite operazioni asincrone. Immaginiamo che si verifichi un'eccezione non gestita, ma è difficile da trovare. – Irwin
Posso chiedere quale Azure SDK si sta utilizzando? Ci sono stati alcuni problemi con Remote Forwarder nel vecchio SDK che potrebbe causare problemi casuali in Azure, ma SDK 1.6 è molto solido su quello.Cosa succede se si rimuove l'accesso RDP e Azure Diagnostics con la propria app, il problema persiste? – AvkashChauhan