Otimizando Tempos de Resposta do Fluxo de Mensagens

Utilizando diferentes soluções para aprimorar tempos de resposta do fluxo de mensagens.

Antes de começar:
Leia os seguintes tópicos de conceito:

Ao projetar um fluxo de mensagens, a flexibilidade e recursos funcionais dos nós integrados geralmente significam que existem várias maneiras de obter o processamento e os resultados desejados. Você pode perceber que diferentes soluções entregam diferentes níveis de desempenho e, se esta for uma consideração importante para você, será necessário considerar isto ao projetar seu fluxo de mensagens

Seus aplicativos podem perceber o desempenho de uma destas maneiras:

  1. O tempo de resposta indica a rapidez com que cada mensagem é processada pelo fluxo de mensagens. O tempo de resposta é influenciado principalmente pela maneira como você projeta seus fluxos de mensagens. O tempo de resposta é discutido neste tópico.
  2. O rendimento de processamento indica quantas mensagens de tamanhos específicos podem ser processadas por um fluxo de mensagens em determinado momento. O rendimento de processamento é afetado principalmente por fatores de configuração e de recursos do sistema e é discutido no tópico sobre otimização do rendimento de processamento do fluxo de mensagens juntamente com outras informações de configuração de domínio. Consulte o Otimizando o Rendimento do Processamento do Fluxo de Mensagens.

Vários aspectos influenciam os tempos de resposta de fluxos 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:

O Número de Nós Incluídos no Fluxo de Mensagens
Cada nó aumenta a quantidade de processamento necessário no intermediário, portanto, considere o conteúdo do fluxo de mensagens com atenção, incluindo a utilização de subfluxos.

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 quantidade de processamento necessária no intermediário. O número de nós em um único fluxo possui um limite máximo. 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.

Como o Fluxo de Mensagens Roteia e Processa as Mensagens
Em algumas situações, você pode perceber que os nós internos e, talvez, outros nós que estão disponíveis em seu sistema, oferecem mais de uma forma de fornecer a mesma função. Escolha a configuração mais simples. Por exemplo, se desejar definir algum processamento específico com base no valor de um campo em cada mensagem, poderá projetar um fluxo de mensagens que tenha uma seqüência de nós Filter para manipular cada caso. Se apropriado, você pode agrupar mensagens por meio do nó Filter para reduzir o número pelo qual cada tipo de mensagem precisa passar antes de ser processado.

Por exemplo, você pode ter um fluxo de mensagens que trata oito mensagens diferentes (Invoice, Despatch Note e outras). É possível incluir um nó Filter para identificar cada tipo de mensagem e roteá-la de acordo com seu tipo. É possível 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 for possível agrupar os tipos de mensagens (por exemplo, se o tipo de mensagem for numérico e se você puder testar todos os tipos maiores que quatro e menores que quatro), poderá reduzir o número de nós Filter necessários. O primeiro nó Filter testa para mais 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. Os quatro nós Filter adicionais podem então testar para um ou dois, três ou quatro e assim por diante. Embora o número real de nós Filter necessários 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 oferece uma 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 levar em consideração que a utilização de um nó RouteToLabel significa utilizar um nó Compute: o aumento na quantidade de processamento requerido no intermediário causado pelo nó pode superar as vantagens. Se estiver lidando com um número limitado de tipos de mensagem, um pequeno número de nós Filter é mais eficiente.

A amostra a seguir 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. A amostra a seguir demonstra como é possível armazenar informações de roteamento em uma tabela de banco de dados em um cache de memória no fluxo de mensagens. Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.
Se Seu fluxo de mensagens Inclui Loops
Evite loops de nós de repetição; eles podem ser muito ineficientes e provocar problemas de desempenho e de pilha. Você pode observar que um nó Compute com várias instruções PROPAGATE evita a necessidade de fazer um loop em uma série de nós.
A Eficiência do ESQL
Verifique todo o código ESQL criado para seus nós do fluxo de mensagens. À medida que desenvolve e testa um nó, você pode manter instruções que não sejam requeridas após a finalização do processamento de mensagens. Você também pode observar que alguma coisa que foi codificada como duas instruções pode ser codificada como uma. Reservar um tempo para rever e verificar seu código ESQL pode oferecer simplificação e aperfeiçoamentos de desempenho.

Se você importou fluxos de mensagens de um release anterior, verifique suas instruções ESQL na ESQL disponível na Versão 6.1 para verificar se você pode utilizar novas funções ou instruções para aprimorar sua eficiência.

A Utilização de Mensagens Persistentes e Transacionais
As mensagens persistentes são salvas em disco durante o processamento do fluxo de mensagens. Esta situação pode ser evitada, especificando que mensagens na entrada, saída ou em ambas, são não persistentes. Se seu fluxo de mensagens estiver tratando apenas mensagens não-persistentes, verifique a configuração dos nós e o próprio fluxo de mensagens; se suas mensagens não forem persistentes, o suporte a transações pode ser desnecessário. A configuração padrão de alguns nós força a capacidade da transação; se você atualizar essas propriedades e reimplementar o fluxo de mensagens, os tempos de resposta podem ser aprimorados.
Tamanho da Mensagem
Uma mensagem maior leva mais tempo para ser processada. Se for possível dividir mensagens grandes em unidades menores de informações, também será possível aprimorar a velocidade na qual elas são manipuladas pelo fluxo de mensagens. A amostra a seguir demonstra como minimizar os requisitos de armazenamento virtual para o fluxo de mensagens para aprimorar o desempenho de um fluxo de mensagens ao processar possíveis mensagens grandes. Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.
Formato de Mensagem
Apesar do WebSphere Message Broker suportar diversos formatos de mensagens e fornecer recursos que podem ser utilizados para transformação de um formato para outro, essa transformação aumenta a quantidade de processamento necessária no intermediário. Certifique-se de não executar conversões ou transformações desnecessárias.

Você pode localizar informações adicionais sobre como aprimorar o desempenho de um fluxo de mensagens neste developerWorks sobre desempenho do fluxo de mensagens.

Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Visão Geral da Implementação
Considerações do Sistema para o Desenvolvimento do Fluxo de Mensagens
Tarefas relacionadas
Configurando o WebSphere Message Broker
Otimizando o Rendimento do Processamento do Fluxo de Mensagens
Projetando um Fluxo de Mensagens
Utilizando Mais de Um Nó Input
Criação de um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Editando Propriedades Configuráveis
Referências relacionadas
Nós Internos
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:34

ac00355_