WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Otimizando o Rendimento do Processamento do Fluxo de Mensagens

Cada fluxo de mensagens projetado deve fornecer um conjunto completo de processamento para mensagens recebidas de uma determinada origem. Este design pode resultar em fluxos de mensagens muito complexos, que incluem grandes números de nós que podem causar uma sobrecarga no desempenho e podem criar possíveis gargalos. É possível aumentar o número de fluxos de mensagens que processam suas mensagens para fornecer a opção de processamento paralelo e, portanto, rendimento de processamento aprimorado.

O modo de operação do seu broker pode afetar o número de fluxos de mensagens que é possível usar; consulte Recursos WebSphere Message Broker and Restrições que se Aplicam em cada modo de operação para obter informações adicionais.

Leve em consideração também a maneira que as ações tomadas pelo fluxo de mensagens são consolidadas e a ordem em que as mensagens são processadas.

O WebSphere Message Broker Explorer permite que você visualize estatísticas do fluxo de mensagens e dados contábeis. Consulte Visualizando dados contábeis e estatísticos no WebSphere Message Broker Explorer para obter informações adicionais sobre como é possível acessar os dados estatísticos.

Considere as seguintes opções para otimizar o rendimento do processamento do fluxo de mensagens:

Várias Mensagens de Processamento Encadeadas em um Único Fluxo de Mensagens
Quando você implementa um fluxo de mensagens, o broker automaticamente inicia uma instância do fluxo de mensagens para cada nó input que o contém. Este é o comportamento padrão. Se tiver um fluxo de mensagens que manipule um número muito grande de mensagens, você poderá ativar mais mensagens a serem processadas alocando mais instâncias do fluxo.

É possível atualizar a propriedade Instâncias Adicionais do fluxo de mensagens implementado no arquivo BAR; o broker inicia cópias adicionais do fluxo de mensagens em encadeamentos separados, fornecendo processamento paralelo. Essa opção é a maneira mais eficiente de manipular essa situação, se você não estiver preocupado com a ordem na qual as mensagens serão processadas.

Se o fluxo de mensagens receber mensagens de uma fila do WebSphere MQ, você poderá interferir na ordem em que as mensagens serão processadas, configurando a propriedade Modo de Ordem do nó MQInput:

  • Se você definir Modo de Ordem como Por ID do Usuário, o nó garantirá que as mensagens de um usuário específico (identificado pelo campo UserIdentifier no MQMD) serão processadas na ordem garantida. Uma segunda mensagem de um usuário não será processada por uma instância do fluxo de mensagens se uma mensagem anterior desse usuário estiver atualmente sendo processada por outra instância do fluxo de mensagens.
  • Se você definir Ordenar Modo como Por Ordem de Fila, o nó processará uma mensagem de cada vez para preservar a ordem na qual as mensagens são lidas a partir da fila. Portanto, esse nó se comporta como se a propriedade Instâncias Adicionais do fluxo de mensagens estivesse definida para zero.
  • Se você configurar o Modo de Ordem como Definido pelo Usuário, será possível solicitar mensagens por qualquer elemento de mensagem, configurando uma expressão XPath ou ESQL na propriedade de local do campo Ordem. O nó assegura que as mensagens com o mesmo valor no elemento de mensagem do campo de ordem sejam processadas na ordem garantida. Uma segunda mensagem com o mesmo valor no elemento de mensagem do campo de ordem não será processada por uma instância do fluxo de mensagens se uma mensagem anterior com o mesmo valor estiver sendo processada atualmente por outra instância do fluxo de mensagens.

    Se o campo estiver ausente, uma exceção será lançada e a mensagem será retrocedida. Os valores NULL e vazios são processados separadamente, em paralelo.

  • Se você configurar Modo de Ordem como Por ID do Usuário ou Definido pelo Usuário e o fluxo de mensagens usar os nós de transformação, será aconselhável configurar a Sincronização de Análise como Imediata.
Várias Cópias do Fluxo de Mensagens em um Intermediário
Também é possível implementar várias cópias do mesmo fluxo de mensagens em diferentes grupos de execução no mesmo broker. Essa opção possui efeitos semelhantes a aumentar o número de encadeamentos de processamentos em um único fluxo de mensagens.

Esta opção também remove a capacidade de determinar a ordem na qual as mensagens são processadas, porque, se houver mais de uma cópia do fluxo de mensagens ativa no intermediário, cada cópia poderá processar uma mensagem ao mesmo tempo, a partir da mesma fila. O tempo gasto para processar uma mensagem pode variar e, portanto, vários fluxos de mensagens que acessam a mesma fila podem ler mensagens da origem de entrada em uma ordem aleatória. A ordem das mensagens produzidas pelos fluxos de mensagens pode não corresponder à ordem das mensagens originais.

Verifique se os aplicativos que recebem mensagens desses fluxos de mensagens podem suportar mensagens fora de ordem. Além disso, certifique-se de que os nós de entrada nesses fluxos de mensagens sejam adequados para implementação em processos diferentes.

Cópias do Fluxo de Mensagens em Vários Intermediários
Você pode implementar várias cópias do mesmo fluxo de mensagens em diferentes intermediários. Esta opção requer alterações em sua configuração, porque é necessário assegurar que os aplicativos que fornecem mensagens para o fluxo de mensagens podem colocar suas mensagens na fila ou porta de entrada correta. Geralmente, essas alterações podem ser feitas na implementação do fluxo de mensagens, definindo-se as propriedades configuráveis do fluxo de mensagens.
O Escopo do Fluxo de Mensagens
Você pode observar que, em algumas circunstâncias, poderá dividir um único fluxo de mensagens em vários fluxos diferentes para reduzir o escopo de trabalho que cada fluxo de mensagens executa. Se você dividir seu fluxo de mensagens, observe que não será possível executar os fluxos de mensagens separados na mesma unidade de trabalho e, se existirem aspectos transacionais em seu fluxo de mensagens (por exemplo, a atualização de vários bancos de dados), esta opção não fornecerá uma solução apropriada.

Os dois exemplos a seguir mostram quando pode ser benéfico dividir um fluxo de mensagens:

  1. Em um fluxo de mensagens que usa um nó RouteToLabel, a fila de entrada pode aumentar em tamanho, indicando que o trabalho chega mais rápido do está sendo processado; isso pode indicar uma necessidade de aumentar a capacidade de processamento. É possível utilizar outra cópia do fluxo de mensagens em um segundo grupo de execução, mas esta opção não será apropriada se você desejar que todas as mensagens sejam manipuladas na ordem em que são mostradas na fila. Pode ser recomendável a divisão de cada ramificação do fluxo de mensagens que começa com um nó Label, fornecendo uma fila de entrada e um nó de entrada para cada ramificação. Esta opção pode ser apropriada, porque, quando a mensagem for roteada pelo nó RouteToLabel para o nó Label relevante, ela terá algum nível de independência das demais mensagens.

    Também pode ser necessário fornecer outra fila de entrada e nó de entrada para concluir qualquer processamento comum ao qual as ramificações do nó Label se conectam quando o processamento exclusivo tiver sido concluído.

  2. Se você tiver um fluxo de mensagens que processa mensagens muito grandes que levam uma quantidade de tempo considerável para processamento, você poderá:
    1. Criar outras cópias do fluxo de mensagens que utilizem uma fila de entrada diferente (você pode configurar esta opção no próprio fluxo de mensagens ou pode atualizar esta propriedade quando implementar o fluxo de mensagens).
    2. Configurar aliases de filas do WebSphere MQ para redirecionar mensagens de alguns aplicativos para a fila e fluxo de mensagens alternativos.

    Também pode criar um novo fluxo de mensagens que replique a função do fluxo de mensagens original, mas que processe apenas mensagens grandes que são imediatamente transmitidas para ele pelo fluxo de mensagens original, que você modificou para verificar o tamanho da mensagem de entrada e redirecionar as mensagens grandes.

Freqüência de Consolidações
If a message flow receives input messages on a WebSphere MQ queue, you can improve its throughput for some message flow scenarios by modifying its default properties after you have added it to a BAR file. (Essas opções não estarão disponíveis se as mensagens de entrada forem recebidas por outros nós de entrada; em cada mensagem são realizadas consolidações nos fluxos de mensagens).

As propriedades a seguir controlam a freqüência com a qual o fluxo de mensagens consolida transações:

  • Contagem de Consolidação. Esta propriedade representa o número de mensagens processadas a partir da fila de entrada antes da emissão de um MQCMIT.
  • Intervalo da Consolidação. Esta propriedade representa o intervalo de tempo decorrido antes do início de um MQCMIT.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:10


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ac00350_