Diagnostica e monitoraggio delle prestazioni per Reliable Service Remoting

Il runtime Reliable ServiceRemoting genera i contatori delle prestazioni che forniscono informazioni utili per comprendere il funzionamento di ServiceRemoting e per eseguire la risoluzione dei problemi e il monitoraggio delle prestazioni.

Contatori delle prestazioni

Il runtime di Reliable ServiceRemoting definisce le categorie di contatori delle prestazioni seguenti.

Categoria Descrizione
Servizio Service Fabric Contatori specifici per Azure Service Fabric Serivce Remoting, ad esempio tempo medio impiegato per elaborare la richiesta
Metodo del servizio Service Fabric Contatori specifici dei metodi implementati da Service Fabric Remoting Service, ad esempio per la frequenza con cui viene richiamato un metodo di un servizio

Ognuna di queste categorie include uno o più contatori.

L'applicazione Performance Monitor di Windows , disponibile per impostazione predefinita nel sistema operativo Windows, può essere usata per raccogliere e visualizzare i dati dei contatori delle prestazioni. Diagnostica di Azure rappresenta una valida alternativa per la raccolta di tali dati e il relativo caricamento nelle tabelle di Azure.

Nomi delle istanze dei contatori delle prestazioni

Un cluster con un numero elevato di servizi o partizioni di ServiceRemoting disporrà di un numero considerevole di istanze di contatori delle prestazioni. I nomi delle istanze possono facilitare l'identificazione della partizione specifica e del metodo del servizio (se applicabile) a cui l'istanza è associata.

Categoria del servizio Service Fabric

Per la categoria Service Fabric Service, i nomi delle istanze dei contatori sono nel formato seguente:

ServiceFabricPartitionID_ServiceReplicaOrInstanceId_ServiceRuntimeInternalID

ServiceFabricPartitionID è la rappresentazione sotto forma di stringa dell'ID partizione di Service Fabric a cui è associata l'istanza del contatore delle prestazioni. L'ID partizione è un GUID e la relativa rappresentazione di stringa viene generata tramite il metodo Guid.ToString con l'identificatore di formato "D".

ServiceReplicaOrInstanceId è la rappresentazione sotto forma di stringa di Service Fabric Replica/ID dell'istanza a cui è associata l'istanza del contatore delle prestazioni.

ServiceRuntimeInternalID è la rappresentazione sotto forma di stringa di un numero intero a 64 bit generato dal runtime di Fabric Service per l'uso interno. Viene incluso nel nome dell'istanza del contatore delle prestazioni per assicurarne l'univocità ed evitare conflitti con altri nomi di istanze di contatori delle prestazioni. Agli utenti non serve tentare di interpretare questa parte del nome dell'istanza del contatore delle prestazioni.

Di seguito è riportato un esempio di un nome di istanza per un contatore appartenente alla categoria Service Fabric Service :

2740af29-78aa-44bc-a20b-7e60fb783264_635650083799324046_5008379932

Nell'esempio precedente 2740af29-78aa-44bc-a20b-7e60fb783264 è la rappresentazione sotto forma di stringa dell'ID partizione di Service Fabric, 635650083799324046 è la rappresentazione sotto forma di stringa di Replica/InstanceId e 5008379932 è l'ID a 64 bit generato per l'uso interno del runtime.

Categoria del metodo del servizio Service Fabric

Per la categoria Service Fabric Service Method, i nomi delle istanze dei contatori sono nel formato seguente:

MethodName_ServiceRuntimeMethodId_ServiceFabricPartitionID_ServiceReplicaOrInstanceId_ServiceRuntimeInternalID

MethodName è il nome del metodo del servizio a cui è associata l'istanza del contatore delle prestazioni. Il formato del nome del metodo è determinato in base a una parte della logica del runtime di Fabric Service che cerca di trovare un compromesso tra la leggibilità del nome e i vincoli relativi alla lunghezza massima dei nomi delle istanze dei contatori delle prestazioni in Windows.

ServiceRuntimeMethodId è la rappresentazione sotto forma di stringa di un numero intero a 32 bit generato dal runtime di Fabric Service per l'uso interno. Viene incluso nel nome dell'istanza del contatore delle prestazioni per assicurarne l'univocità ed evitare conflitti con altri nomi di istanze di contatori delle prestazioni. Agli utenti non serve tentare di interpretare questa parte del nome dell'istanza del contatore delle prestazioni.

ServiceFabricPartitionID è la rappresentazione sotto forma di stringa dell'ID partizione di Service Fabric a cui è associata l'istanza del contatore delle prestazioni. L'ID partizione è un GUID e la relativa rappresentazione di stringa viene generata tramite il metodo Guid.ToString con l'identificatore di formato "D".

ServiceReplicaOrInstanceId è la rappresentazione sotto forma di stringa di Service Fabric Replica/ID dell'istanza a cui è associata l'istanza del contatore delle prestazioni.

ServiceRuntimeInternalID è la rappresentazione sotto forma di stringa di un numero intero a 64 bit generato dal runtime di Fabric Service per l'uso interno. Viene incluso nel nome dell'istanza del contatore delle prestazioni per assicurarne l'univocità ed evitare conflitti con altri nomi di istanze di contatori delle prestazioni. Agli utenti non serve tentare di interpretare questa parte del nome dell'istanza del contatore delle prestazioni.

Di seguito è riportato un esempio di un nome di istanza per un contatore appartenente alla categoria Service Fabric Service Method :

ivoicemailboxservice.leavemessageasync_2_89383d32-e57e-4a9b-a6ad-57c6792aa521_635650083804480486_5008380

Nell'esempio precedente ivoicemailboxservice.leavemessageasync è il nome del metodo, 2 è l'ID a 32 bit generato per l'uso interno del runtime, 89383d32-e57e-4a9b-a6ad-57c6792aa521 è la rappresentazione sotto forma di stringa dell'ID partizione di Service Fabric, 635650083804480486 è la rappresentazione sotto forma di stringa di Service Fabric Replica/ID istanza e 5008380 è l'ID a 64 bit generato per l'uso interno del runtime.

Elenco di contatori delle prestazioni

Contatori delle prestazioni dei metodi servizi

Il runtime di Reliable Service pubblica i contatori delle prestazioni seguenti relativi all'esecuzione dei metodi dei servizi.

Nome categoria Nome contatore Descrizione
Metodo del servizio Service Fabric Invocations/Sec Numero di volte in cui il metodo del servizio viene richiamato al secondo
Metodo del servizio Service Fabric Average milliseconds per invocation Tempo necessario per eseguire il metodo del servizio in millisecondi
Metodo del servizio Service Fabric Exceptions thrown/Sec Numero di volte in cui il metodo del servizio attore ha generato un'eccezione al secondo

Contatori delle prestazioni di elaborazione delle richieste dei servizi

Quando un client richiama un metodo tramite un oggetto proxy di servizio, viene generato un messaggio di richiesta inviato in rete al servizio remoting. Il servizio elabora il messaggio di richiesta e invia una risposta al client. Il runtime di Reliable ServiceRemoting pubblica i contatori delle prestazioni seguenti relativi all’elaborazione delle richieste dei servizi.

Nome categoria Nome contatore Descrizione
Servizio Service Fabric # of outstanding requests Numero di richieste elaborate nel servizio
Servizio Service Fabric Average milliseconds per request Tempo richiesto (in millisecondi) dal servizio per elaborare una richiesta
Servizio Service Fabric Average milliseconds for request deserialization Tempo richiesto (in millisecondi) per deserializzare il messaggio di richiesta del servizio quando viene ricevuto nel servizio
Servizio Service Fabric Average milliseconds for response serialization Tempo richiesto (in millisecondi) per serializzare il messaggio di risposta del servizio nel servizio prima dell’invio della risposta al client

Passaggi successivi