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
Utilizzare le librerie native di .NET per comprimere uno o più file in formato ZIP
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor
Azure SQL Database per dev: tutte le novità da non perdere
Dallo sviluppo locale ad Azure con .NET Aspire
Nuova modale riconnessione Blazor
Keynote Global Azure 2026 - ASPItalia.com
Centralizzare e governare MCP server e Skill con Azure API Center
Utilizzare le direttive più importanti in una file based app .NET
Utilizzare le librerie native di .NET per decomprimere un file zip
Keynote .NET Conference Italia 2025
Applicare il progressive enhancement in applicazioni web
Gestione delle issue type con GitHub
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Accedere a risorse e immagini in Windows Store app di Windows 8
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Permettere il Drag-and-drop solo su zone predefinite con Silverlight 2.0
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Personalizare l'icona e le funzionalità di un sito web per iOS e IE
- Caricamenti veloci da CDN e fallback locale con ASP.NET Core
- Utilizzare dati in formato XML in XAML
- Accedere a dati esposti con WebService con Silverlight 1.0


