Sebbene le Azure Web App siano il luogo adatto per ospitare le nostre applicazioni web in tutta tranquillità, ignorandone la gestione, questo non vuol dire che possano essere esenti da problemi. Potremmo soffrire di un bug che apparentemente in circostanze misteriose ci porta a consumare CPU per molto tempo. Le cause possono essere le più disparate e in ogni caso abbiamo bisogno fondamentalmente di due cose:
- Capire cosa causa il problema per poterlo risolvere;
- Interrompere l'uso elevato della CPU per far riprendere il normale funzionamento.
Nel portale Azure dedicato alle Web App è presente una sezione Diagnose and solve problems dedicato proprio a risolvere problemi di vario genere che si possono presentare nelle nostre app. Di recente si è arricchito di una nuova funzionalità, che possiamo trovare sotto Diagnostic tools, di nome Proactive CPU Monitoring.
Acceduti a questa sezione troviamo un wizard che ci guida prima di tutto ad abilitare la funzionalità indicando vari parametri: il livello di CPU che la avvia, per quanto tempo, ogni quanto controllare l'utilizzo della CPU e cosa fare in caso di problemi.

La funzionalità si può attivare per un periodo di tempo limitato, dato che ovviamente non è risolutiva del problema. Nel secondo step, infatti, la sezione Observe ci mostra l'andamento della CPU e ci dà istruzioni su dove trovare il log di eventuali anomalie trovate.

La sezione Analyze ci dà invece accesso agli eventuali dump raccolti nel verificarsi di un problema. Non solo, infatti, possiamo riavviare il processo come indicato nella prima figura, ma possiamo anche produrre un file dmp. Se abbiamo caricato i simboli pdb (anche quelli non full) possiamo aprire questo file in Visual Studio e avere uno snapshot del processo al momento del problema. Possiamo quindi capire la situazione di ogni thread e dedurre se qualche funzione viene chiamata troppo spesso o va in loop.
Dato che il monitoraggio della CPU richiede un processo sempre attivo, è necessario disporre di un tier di tipo standard o premium.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare una User Delegation SAS in .NET per Azure Blob Storage
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Configurare lo startup di applicazioni server e client con .NET Aspire
Creare agenti facilmente con Azure AI Agent Service
Introduzione alle Container Queries
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Creare una libreria CSS universale: i bottoni
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Utilizzare Hybrid Cache in .NET 9
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare Locust con Azure Load Testing
Utilizzare DeepSeek R1 con Azure AI
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!