Creare e usare contatori di prestazioni in un'applicazione Azure

Aggiornamento: novembre 2015

Proprio come con Windows Server, è possibile usare i contatori di prestazioni in un'applicazione Azure per raccogliere dati che possono contribuire a individuare i colli di bottiglia e a ottimizzare le prestazioni di sistema e dell'applicazione. I ruoli Web, i ruoli di lavoro e i ruoli VM possono configurare in modo dinamico i contatori di prestazioni raccolti dal monitor di diagnostica di Azure e creare e usare i contatori di prestazioni personalizzati per la gestione e il monitoraggio specifici dell'applicazione. I dati dei contatori delle prestazioni possono essere esaminati direttamente nell'host applicazione con lo strumento Performance Monitor accessibile tramite Desktop remoto, con System Center Operations Manager usando Azure Management Pack o con altri strumenti di monitoraggio che accedono ai dati di diagnostica trasferiti nello spazio di archiviazione di Azure. Per altre informazioni, vedere Archiviare e visualizzare i dati di diagnostica nell'account di archiviazione Azure. Per informazioni sulla configurazione dei contatori di prestazioni nell'applicazione, vedere Come configurare i contatori delle prestazioni.

I contatori di prestazioni non sono abilitati per impostazione predefinita nel monitor di diagnostica. L'applicazione o un'attività di avvio deve modificare la configurazione predefinita del monitor di diagnostica per includere i contatori di prestazioni che si desidera monitorare per ogni istanza del ruolo se si richiedono dati dei contatori di prestazioni.

In Azure è disponibile un subset di contatori delle prestazioni per Windows Server 2008, IIS e lo stack ASP.NET. La tabella seguente include alcuni dei contatori delle prestazioni di interesse particolare per le applicazioni Azure.

 

Categoria contatore: Oggetto (istanza) Nome contatore Riferimento

.NET CLR Exceptions(_Global_)

Eccezioni/sec

Contatori di prestazioni per le eccezioni

.NET CLR Memory(_Global_)

Percentuale tempo in GC

Contatori di prestazioni per la memoria

ASP.NET

Riavvii applicazione

Contatori di prestazioni per ASP.NET

ASP.NET

Tempo di esecuzione richiesta

Contatori di prestazioni per ASP.NET

ASP.NET

Richieste disconnessione

Contatori di prestazioni per ASP.NET

ASP.NET

Riavvii processo di lavoro

Contatori di prestazioni per ASP.NET

ASP.NET Applications(__Total__)

Totale richieste

Contatori di prestazioni per ASP.NET

ASP.NET Applications(__Total__)

Richieste/sec

Contatori di prestazioni per ASP.NET

ASP.NET v4.0.30319

Tempo di esecuzione richiesta

Contatori di prestazioni per ASP.NET

ASP.NET v4.0.30319

Tempo di attesa richiesta

Contatori di prestazioni per ASP.NET

ASP.NET v4.0.30319

Richieste correnti

Contatori di prestazioni per ASP.NET

ASP.NET v4.0.30319

Richieste in coda

Contatori di prestazioni per ASP.NET

ASP.NET v4.0.30319

Richieste rifiutate

Contatori di prestazioni per ASP.NET

Memoria

MByte disponibili

Contatori di prestazioni per la memoria

Memoria

Byte vincolati

Contatori di prestazioni per la memoria

Processor(_Total)

% tempo processore

Contatori di prestazioni per ASP.NET

TCPv4

Errori di connessione

Oggetto TCP

TCPv4

Connessioni stabilite

Oggetto TCP

TCPv4

Connessioni ripristinate

Oggetto TCP

TCPv4

Segmenti inviati/sec

Oggetto TCP

Network Interface(*)

Byte ricevuti/sec

Oggetto interfaccia di rete

Network Interface(*)

Byte inviati/sec

Oggetto interfaccia di rete

Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)

Byte ricevuti/sec

Oggetto interfaccia di rete

Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)

Byte inviati/sec

Oggetto interfaccia di rete

Network Interface(Microsoft Virtual Machine Bus Network Adapter _2)

Totale byte/sec

Oggetto interfaccia di rete

Azure supporta la creazione e la modifica di contatori di prestazioni personalizzati per i ruoli Web e i ruoli di lavoro. I contatori di prestazioni personalizzati possono essere usati per monitorare e registrare il comportamento specifico dell'applicazione. Le categorie dei contatori di prestazioni personalizzati e i relativi identificatori possono essere creati o eliminati in un'attività di avvio, in un ruolo Web o in un ruolo di lavoro con autorizzazioni elevate.

noteNota
Per eseguire il codice che modifica i contatori di prestazioni personalizzati è necessario disporre di autorizzazioni elevate. Se il codice si trova in un ruolo Web o in un ruolo di lavoro, è necessario che nel file ServiceDefinition.csdef sia incluso il tag <Runtime executionContext="elevated" />, in caso contrario l'inizializzazione del ruolo non verrà eseguita correttamente.

È possibile abilitare i contatori di prestazioni personalizzati e trasferire i relativi dati nello spazio di archiviazione di Azure con i contatori di prestazioni standard usando il monitor di diagnostica.

I dati dei contatori di prestazioni standard vengono generati dai processi di Azure. I dati dei contatori di prestazioni personalizzati devono essere creati dall'applicazione del ruolo Web o del ruolo di lavoro. Per informazioni sui tipi di dati che è possibile archiviare nei contatori di prestazioni personalizzati, vedere Tipi di contatori delle prestazioni. Per un esempio relativo alla creazione e all'impostazione dei dati dei contatori di prestazioni personalizzati in un ruolo Web, vedere Esempio di PerformanceCounters.

I dati dei contatori di prestazioni vengono memorizzati nella cache in Azure con altre informazioni di diagnostica. Questi dati sono disponibili per il monitoraggio remoto mentre l'istanza del ruolo è in esecuzione tramite Accesso desktop remoto per visualizzare strumenti quali Performance Monitor. Per rendere persistenti i dati all'esterno dell'istanza del ruolo, il monitor di diagnostica deve trasferire i dati nello spazio di archiviazione di Azure. Le dimensioni limite dei dati dei contatori di prestazioni memorizzati nella cache può essere configurato nel monitor di diagnostica o come parte di un limite condiviso per tutti i dati di diagnostica. Per altre informazioni sull'impostazione delle dimensioni del buffer, vedere OverallQuotaInMB e DirectoriesBufferConfiguration. Vedere Archiviare e visualizzare i dati di diagnostica nell'account di archiviazione Azure per una panoramica della configurazione del monitor di diagnostica per trasferire dati a un account di archiviazione.

Ogni istanza dei contatori di prestazioni configurati viene registrata a una frequenza di campionamento specificata e i dati campionati vengono trasferiti all'account di archiviazione in base a una richiesta di trasferimento pianificata o su richiesta. I trasferimenti automatici possono essere pianificati fino a una volta al minuto. I dati dei contatori di prestazioni trasferiti dal monitor di diagnostica vengono archiviati in una tabella, WADPerformanceCountersTable, nell'account di archiviazione. Per accedere a questa tabella ed eseguire query su di essa, è possibile usare i metodi dell'API di archiviazione di Azure. Per un esempio di esecuzione di query e visualizzazione di dati dei contatori delle prestazioni della tabella WADPerformanceCountersTable, vedere l'esempio PerformanceCounters Azure.

noteNota
A seconda della frequenza di trasferimento e della latenza della coda del monitor di diagnostica, è possibile che i dati dei contatori di prestazioni più recenti nell'account di archiviazione non siano aggiornati di qualche minuto.

Vedere anche

Mostra: