Leia o tópico de conceitos sobre os nós do fluxo de mensagens.
Ao projetar um fluxo de mensagens, a flexibilidade e importância dos nós internos indicam que há várias maneiras de alcançar o processamento e, portanto, os resultados finais requeridos. No entanto, você também pode perceber que essas diferentes soluções geram desempenho diferente e, se esta for uma consideração importante, será necessário projetar o desempenho e também o funcionamento.
Existem duas formas nas quais seus aplicativos podem perceber o desempenho:
Existem vários aspectos que influenciam os tempos de resposta do fluxo de mensagens. No entanto, conforme você cria e modifica o design de seu fluxo de mensagens para alcançar os melhores resultados que atendam aos seus requisitos de negócios específicos, também deve considerar a eventual complexidade do fluxo de mensagens. Os fluxos de mensagens mais eficientes não são necessariamente os mais fáceis de entender e manter; tente as soluções disponíveis para alcançar o melhor equilíbrio para suas necessidades.
Vários fatores influenciam os tempos de resposta de fluxos de mensagens:
Utilize o menor número de nós possível em um fluxo de mensagens; cada nó incluído no fluxo de mensagens aumenta a sobrecarga no intermediário. Existe um limite superior para o número de nós em um único fluxo. Este limite é regido pelos recursos do sistema, principalmente o tamanho da pilha.
Para obter informações adicionais sobre tamanhos de pilhas, consulte Considerações do Sistema para o Desenvolvimento do Fluxo de Mensagens.
Por exemplo, você pode ter um fluxo de mensagens que trata oito mensagens diferentes (Invoice, Despatch Note e outras). Você pode incluir um nó Filter para identificar cada tipo de mensagem e roteá-la de acordo com seu tipo. Você pode otimizar o desempenho desta técnica testando os tipos de mensagens mais freqüentes nos nós Filter mais antigos. No entanto, o oitavo tipo de mensagem sempre deve passar por oito nós Filter.
Se você puder agrupar os tipos de mensagens (por exemplo, se o tipo de mensagem for numérico e você puder testar para todos os tipos de mensagens maiores que quatro e menores que quatro), poderá reduzir o número de nós Filter requeridos. O primeiro nó Filter testa para menos de quatro e transmite a mensagem para dois nós Filter adicionais (conectados aos terminais true e false) que testam para menos de dois e menos de seis, respectivamente. Os quatro nós Filter adicionais podem então ser testados para um, dois, três ou quatro e assim por diante. Embora o número real de nós Filter requerido seja o mesmo, o número de nós pelos quais cada mensagem passa é reduzido.
Você pode notar que, utilizar um nó RouteToLabel com um conjunto de nós Label fornece melhor alternativa para uma seqüência de nós Filter. Cada mensagem passa por um número menor de nó, melhorando o rendimento do processamento. No entanto, você também deve considerar que a utilização do nó RouteToLabel significa utilizar um nó Compute: a sobrecarga deste nó pode exceder as vantagens. Se você estiver lidando com um número limitado de tipos de mensagens, um pequeno número de nós Filter é mais eficiente.
O Amostra Airline Reservations demonstra como é possível utilizar os nós RouteToLabel e Label em vez de utilizar vários nós Filter no fluxo de mensagens XML_PassengerQuery. O Amostra Message Routing demonstra como é possível armazenar as informações de roteamento em uma tabela do banco de dados em um cache de memória no fluxo de mensagens.
Se você tiver importado fluxos de mensagens de um release anterior, verifique as instruções ESQL na variável ESQL na Versão 5.0 para ver se é possível utilizar novas funções ou instruções para melhorar sua eficiência.
É possível localizar informações adicionais sobre o aprimoramento do desempenho de um fluxo de mensagens em Artigo do developerWorks sobre o Desempenho do Fluxo de Mensagens.