Use o WebSphere Message Broker Explorer para visualizar dados de estatísticas de recursos para seus grupos de execução nas visualizações de Recursos do Broker e de Gráfico de Recursos do Broker.
Também é possível visualizar a coleção de estatísticas do recurso assinando o tópico no qual as estatísticas são publicadas. Para obter detalhes adicionais, consulte Assinando Relatórios de Estatísticas.
Para visualizar estatísticas do recurso no WebSphere Message Broker Explorer, conclua as etapas a seguir.
Quantas ferramentas que são específicas para um sistema operacional fornecem-lhe a memória total que é usada pelo grupo de execução, mas não mostram como essa memória é dividida entre o processamento Java™ e outros processamentos no grupo de execução. Consultando o campo CommittedMemoryInMB, é possível visualizar quanta memória está alocada atualmente para o JVM. Em seguida, consulte o campo MaxMemoryInMB para visualizar a quantidade máxima de memória que pode ser alocada.
Para visualizar a frequência com que o JVM está fazendo a coleta de lixo, verifique o campo CumulativeNumberOfGCCollections para ver se a taxa de coletas está aumentando. A coleta de lixo é um processo normal e, portanto, esperado, em um certo grau. Entretanto, a coleta excessiva de lixo pode afetar o desempenho.
Para ver se a coleta de lixo é excessiva, monitore o valor CumulativeGCTimeInSeconds. Se este valor estiver aumentando em mais de 2 segundos a cada intervalo estatístico de 20 segundos, tente aumentar o tamanho do heap JVM máximo para seu grupo de execução usando o comando mqsichangeproperties. Talvez você também queira inspecionar todos os nós Java definidos pelo usuário e nós JavaCompute que estejam inclusos em seus fluxos de mensagens implementados, para assegurar que eles não criem e excluam muitos objetos que poderiam ser reutilizados; exclusões frequentes podem contribuir para a coleta excessiva de lixo.
Altere esses valores gradualmente e verifique os resultados para localizar as configurações ideais para seu ambiente.
Um fluxo de mensagens analisa as mensagens de entrada e pode criar várias mensagens de saída. Essas mensagens podem ter grandes fluxos de bits ou grandes árvores de mensagens. Os analisadores criados para executar esse processamento de mensagens podem consumir uma grande quantidade de memória. Use as estatísticas dos Analisadores para determinar se os analisadores do fluxo de mensagens estão usando mais memória que o esperado. Se sim, considere implementar esses fluxos em grupos de execução separados ou melhorar o processamento de ESQL ou da API do plug-in Java, para tratar com eficiência mensagens ou transformações grandes.
Se um fluxo de mensagens receber ou tentar gravar uma mensagem inválida, é provável que ela seja rejeitada por um analisador. Use as estatísticas dos analisadores de mensagem para ver se um fluxo de mensagens está rejeitando uma grande quantidade de mensagens de entrada ou saída em comparação com o processamento bem-sucedido.
Criar soquetes de saída pode ser uma operação cara e o número de soquetes disponíveis em um computador é um recurso finito. Portanto, aumentar a reutilização do soquete pode melhorar o desempenho. Se a carga de trabalho for contínua e consistente, o valor TotalSockets indicará um período de atividade inicial que, em seguida, é reduzido quando o grupo de execução começa a reutilizar os soquetes.
É esperado um aumento contínuo no valor TotalSockets depois de algum tempo, porque os soquetes são encerrados após um período de inatividade, ou quando tiverem sido usados muitas vezes.
Se o valorTotalSockets aumentar significativamente após algum tempo, essa tendência pode indicar que os soquetes de saída não estão sendo reutilizados.
Se os fluxos de mensagens incluírem nós HTTPRequest, verifique se você configurou a propriedade keep-alive Ativar HTTP/1.1 keep-alive.
Verifique também se o terminal que é chamado usa os soquetes keep-alive.
Os valores TotalMessages indicam o quanto cada terminal está ocupado. O valor no registro de resumo informa quanta atividade ocorreu em todo o grupo de execução.
Os valores dos campos SentMessageSize_* eReceivedMessageSize_* dão um perfil dos tamanhos das mensagens que fluem para e de cada terminal.
Se as estatísticas mostrarem que a contagem de responsáveis por chamadas aguardando conexões é alta e o tempo de espera estiver aumentando, considere aumentar o tamanho do conjunto usando a propriedade MaxConnectionPoolSize para o serviço configurável JDBCProvider.
Alternativamente, tente reduzir o número de instâncias adicionais configuradas para o fluxo de mensagens.
Criar soquetes de saída pode ser uma operação cara e o número de soquetes disponíveis em um computador é um recurso finito. Portanto, aumentar a reutilização do soquete pode melhorar o desempenho. Se a carga de trabalho for contínua e consistente, o valor TotalSockets indicará um período de atividade inicial que, em seguida, é reduzido quando o grupo de execução começa a reutilizar os soquetes.
É esperado um aumento contínuo no valor TotalSockets depois de algum tempo, porque os soquetes são encerrados após um período de inatividade, ou quando tiverem sido usados muitas vezes.
Se o valorTotalSockets aumentar significativamente após algum tempo, essa tendência pode indicar que os soquetes de saída não estão sendo reutilizados.
Se os fluxos de mensagens incluírem nós HTTPRequest, verifique se você configurou a propriedade keep-alive Ativar HTTP/1.1 keep-alive.
Verifique também se o terminal que é chamado usa os soquetes keep-alive.