I cloud service sono un servizio che permette di distribuire e gestire la nostra applicazione in piena autonomia, senza doverci curare delle macchine fisiche, della loro installazione e manutenzione. Poiché ricorriamo a questi strumenti nella fase di staging e di produzione, si presume che la nostra applicazione sia già stata sviluppata e testata. Può capitare, però, di riscontrare problemi di prestazioni o di consumo di memoria che non sono emersi nella fase di sviluppo o che non si riusciamo a riprodurre con l'emulatore fornito dall'SDK.
In questi casi possiamo confezionare un nuovo deployment e abilitare il profiling, cioè di chiedere alle varie istanze dei nostri web/worker role, di campionare l'uso della memoria, della CPU o di eventuali problemi di concorrenza. Possiamo abilitare questa opzione direttamente nel menu di publish, nelle opzioni avanzate.

Nel relativo pannello delle impostazioni avanzate possiamo scegliere che tipo di diagnostica vogliamo raccogliere.

A questo punto possiamo caricare il deployment e far lavorare l'applicativo per far generare il problema che vogliamo diagnosticare. Raggiunto l'obbiettivo dobbiamo utilizzare la toolbar Server Explorer di Visual Studio 2012, espandere la voce Windows Azure Compute e cercare l'istanza del role che vogliamo diagnosticare.

Premendo View Profiling Report viene scaricato il log e visualizzato con lo strumento builtin di Visual Studio 2012, il quale ci permette di analizzare i grafici delle prestazioni, guardare le funzioni più chiamate, analizzare lo stack delle chiamate e così via.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Generare una User Delegation SAS in .NET per Azure Blob Storage
Simulare Azure Cosmos DB in locale con Docker
Gestire i dati con Azure Cosmos DB Data Explorer
Gestire gli accessi con Token su Azure Container Registry
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Creare una libreria CSS universale: Clip-path
Recuperare App Service cancellati su Azure
Path addizionali per gli asset in ASP.NET Core MVC
Creare una libreria CSS universale: i bottoni
Ottimizzare le performance usando Span<T> e il metodo Split