Diagnóstico e monitorização de desempenho da Comunicação Remota do Reliable Service

O runtime Reliable ServiceRemoting emite contadores de desempenho. Estas informações fornecem informações sobre como o ServiceRemoting está a funcionar e ajudam na resolução de problemas e na monitorização do desempenho.

Contadores de desempenho

O runtime Reliable ServiceRemoting define as seguintes categorias de contador de desempenho:

Categoria Descrição
Service Fabric Service Contadores específicos do Azure Service Fabric Service Remoting , por exemplo, o tempo médio necessário para processar o pedido
Service Fabric Service Method Contadores específicos de métodos implementados pelo Service Fabric Remoting Service, por exemplo, a frequência com que um método de serviço é invocado

Cada uma das categorias anteriores tem um ou mais contadores.

A aplicação Monitor de Desempenho do Windows que está disponível por predefinição no sistema operativo Windows pode ser utilizada para recolher e ver dados do contador de desempenho. Diagnóstico do Azure é outra opção para recolher dados do contador de desempenho e carregá-lo para tabelas do Azure.

Nomes de instâncias do contador de desempenho

Um cluster com um grande número de serviços ou partições ServiceRemoting tem um grande número de instâncias de contador de desempenho. Os nomes das instâncias do contador de desempenho podem ajudar a identificar a partição específica e o Método de serviço (se aplicável) ao qual a instância do contador de desempenho está associada.

Categoria do Service Fabric Service

Para a categoria Service Fabric Service, os nomes das instâncias de contadores estão no seguinte formato:

ServiceFabricPartitionID_ServiceReplicaOrInstanceId_ServiceRuntimeInternalID

ServiceFabricPartitionID é a representação de cadeia do ID de partição do Service Fabric à qual a instância do contador de desempenho está associada. O ID da partição é um GUID e a respetiva representação de cadeia é gerada através do método com o Guid.ToString especificador de formato "D".

ServiceReplicaOrInstanceId é a representação de cadeia da Réplica/ID de Instância do Service Fabric à qual a instância do contador de desempenho está associada.

ServiceRuntimeInternalID é a representação da cadeia de carateres de um número inteiro de 64 bits gerado pelo runtime do Serviço de Recursos de Infraestrutura para utilização interna. Isto está incluído no nome da instância do contador de desempenho para garantir a sua exclusividade e evitar conflitos com outros nomes de instâncias de contador de desempenho. Os utilizadores não devem tentar interpretar esta parte do nome da instância do contador de desempenho.

Segue-se um exemplo de um nome de instância de contador para um contador que pertence à Service Fabric Service categoria:

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

No exemplo anterior, 2740af29-78aa-44bc-a20b-7e60fb783264 está a representação de cadeia do ID de partição do Service Fabric, 635650083799324046 é a representação de cadeia de carateres de Replica/InstanceId e 5008379932 é o ID de 64 bits gerado para a utilização interna do runtime.

Categoria Método de Serviço do Service Fabric

Para a categoria Service Fabric Service Method, os nomes das instâncias de contadores estão no seguinte formato:

MethodName_ServiceRuntimeMethodId_ServiceFabricPartitionID_ServiceReplicaOrInstanceId_ServiceRuntimeInternalID

MethodName é o nome do método de serviço ao qual a instância do contador de desempenho está associada. O formato do nome do método é determinado com base em alguma lógica no runtime do Serviço de Recursos de Infraestrutura que equilibra a legibilidade do nome com restrições no comprimento máximo dos nomes da instância do contador de desempenho no Windows.

ServiceRuntimeMethodId é a representação da cadeia de carateres de um número inteiro de 32 bits gerado pelo runtime do Serviço de Recursos de Infraestrutura para utilização interna. Isto está incluído no nome da instância do contador de desempenho para garantir a sua exclusividade e evitar conflitos com outros nomes de instâncias de contador de desempenho. Os utilizadores não devem tentar interpretar esta parte do nome da instância do contador de desempenho.

ServiceFabricPartitionID é a representação de cadeia do ID de partição do Service Fabric à qual a instância do contador de desempenho está associada. O ID da partição é um GUID e a respetiva representação de cadeia é gerada através do método com o Guid.ToString especificador de formato "D".

ServiceReplicaOrInstanceId é a representação de cadeia da Réplica/ID de Instância do Service Fabric à qual a instância do contador de desempenho está associada.

ServiceRuntimeInternalID é a representação da cadeia de carateres de um número inteiro de 64 bits gerado pelo runtime do Serviço de Recursos de Infraestrutura para utilização interna. Isto está incluído no nome da instância do contador de desempenho para garantir a sua exclusividade e evitar conflitos com outros nomes de instâncias de contador de desempenho. Os utilizadores não devem tentar interpretar esta parte do nome da instância do contador de desempenho.

Segue-se um exemplo de um nome de instância de contador para um contador que pertence à Service Fabric Service Method categoria:

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

No exemplo anterior, ivoicemailboxservice.leavemessageasync é o nome do método, 2 é o ID de 32 bits gerado para a utilização interna do runtime, 89383d32-e57e-4a9b-a6ad-57c6792aa521 é a representação de cadeia do ID de partição do Service Fabric,635650083804480486 é a representação de cadeia da Réplica/ID da Instância do Service Fabric e 5008380 é o ID de 64 bits gerado para a utilização interna do runtime.

Lista de contadores de desempenho

Contadores de desempenho do método de serviço

O runtime do Reliable Service publica os seguintes contadores de desempenho relacionados com a execução de métodos de serviço.

Nome da categoria Nome do contador Descrição
Service Fabric Service Method Invocações/Seg Número de vezes que o método de serviço é invocado por segundo
Service Fabric Service Method Média de milissegundos por invocação Tempo necessário para executar o método de serviço em milissegundos
Service Fabric Service Method Exceções emitidas/Seg Número de vezes que o método de serviço lançou uma exceção por segundo

Contadores de desempenho de processamento de pedidos de serviço

Quando um cliente invoca um método através de um objeto de proxy de serviço, resulta no envio de uma mensagem de pedido através da rede para o serviço de remo. O serviço processa a mensagem de pedido e envia uma resposta de volta para o cliente. O Reliable ServiceRemoting runtime publica os seguintes contadores de desempenho relacionados com o processamento de pedidos de serviço.

Nome da categoria Nome do contador Descrição
Service Fabric Service N.º de pedidos pendentes Número de pedidos a serem processados no serviço
Service Fabric Service Média de milissegundos por pedido Tempo decorrido (em milissegundos) pelo serviço para processar um pedido
Service Fabric Service Milissegundos médios para a desserialização de pedidos Tempo decorrido (em milissegundos) para anular a serialização da mensagem de pedido de serviço quando é recebida no serviço
Service Fabric Service Milissegundos médios para serialização de respostas Tempo necessário (em milissegundos) para serializar a mensagem de resposta do serviço no serviço antes de a resposta ser enviada para o cliente

Passos seguintes