11. Construindo um Plano de Teste de Tópico JMS

O JMS requer que alguns jars opcionais sejam baixados. Consulte Introdução para obter detalhes completos.

Nesta seção, você aprenderá como criar um Plano de Teste para testar Provedores JMS. Você criará cinco assinantes e um editor. Você criará 2 grupos de threads e definirá cada um para 10 iterações. O total de mensagens é (6 threads) x (1 mensagem) x (repetir 10 vezes) = 60 mensagens. Para construir o Plano de Teste, você usará os seguintes elementos: Thread Group , JMS Publisher , JMS Subscriber e Graph Results .

Notas gerais sobre JMS: Existem atualmente dois amostradores JMS. Um usa tópicos JMS e o outro usa filas. As mensagens de tópico são comumente conhecidas como mensagens pub/sub. As mensagens de tópico geralmente são usadas nos casos em que uma mensagem é publicada por um produtor e consumida por vários assinantes. As mensagens de fila geralmente são usadas para transações em que o remetente espera uma resposta. Os sistemas de mensagens são bem diferentes das solicitações HTTP normais. No HTTP, um único usuário envia uma solicitação e obtém uma resposta. O sistema de mensagens pode funcionar em modo síncrono e assíncrono. Um amostrador JMS precisa dos arquivos jar de implementação JMS; por exemplo, do Apache ActiveMQ. Veja aqui a lista de jars fornecida pelo ActiveMQ.

11.1 Adicionando Usuários

A primeira etapa é adicionar um elemento Thread Group . O Thread Group informa ao JMeter o número de usuários que você deseja simular, com que frequência os usuários devem enviar solicitações e quantas solicitações devem enviar.

Vá em frente e adicione o elemento ThreadGroup selecionando primeiro o Plano de Teste, clicando com o botão direito do mouse para obter o menu Adicionar e, em seguida, selecione Adicionar  →  ThreadGroup .

Agora você deve ver o elemento Thread Group em Test Plan. Se você não vir o elemento, então "expanda" a árvore do Plano de Testes clicando no elemento Plano de Testes.

Em seguida, você precisa modificar as propriedades padrão. Selecione o elemento Thread Group na árvore, caso ainda não o tenha selecionado. Agora você deve ver o Thread Group Control Panel na seção direita da janela JMeter (veja a Figura 11.1 abaixo)


Figura 11.1.  Grupo de threads com valores padrão
Figura 11.1. Grupo de threads com valores padrão

Comece fornecendo um nome mais descritivo para nosso grupo de tópicos. No campo de nome, insira Assinantes .

Em seguida, aumente o número de usuários (chamados de threads) para 5 .

No próximo campo, o Período de Aceleração, defina o valor para 0 segundos. Esta propriedade informa ao JMeter quanto tempo deve demorar entre o início de cada usuário. Por exemplo, se você inserir um Período de Aceleração de 5 segundos, o JMeter terminará de iniciar todos os seus usuários ao final dos 5 segundos. Portanto, se tivermos 5 usuários e um período de aceleração de 5 segundos, o atraso entre os usuários iniciais seria de 1 segundo (5 usuários / 5 segundos = 1 usuário por segundo). Se você definir o valor como 0, o JMeter iniciará imediatamente todos os usuários.

Desmarque a caixa de seleção " Forever " e insira um valor de 10 no campo Loop Count. Essa propriedade informa ao JMeter quantas vezes repetir seu teste. Se você inserir um valor de contagem de loop de 0 , o JMeter executará seu teste apenas uma vez. Para que o JMeter execute repetidamente seu Plano de Teste, marque a caixa de seleção Sempre .

Repita o processo e adicione outro grupo de threads. Para o segundo grupo de encadeamentos, insira " Publisher " no campo de nome, defina o número de encadeamentos como 1 e defina a iteração como 10 .

Na maioria dos aplicativos, você precisa aceitar manualmente as alterações feitas em um Painel de controle. No entanto, no JMeter, o Painel de Controle aceita automaticamente suas alterações conforme você as faz. Se você alterar o nome de um elemento, a árvore será atualizada com o novo texto depois que você sair do Painel de Controle (por exemplo, ao selecionar outro elemento da árvore).

11.2 Adicionando Assinante e Publicador JMS

Certifique-se de que os arquivos jar necessários estejam no diretório lib do JMeter. Se não estiverem, desligue o JMeter, copie os arquivos jar e reinicie o JMeter.

Comece incluindo o Assinante JMS do amostrador no elemento Assinantes ( Incluir  →  Amostrador  →  Assinante JMS ). Em seguida, selecione o elemento Assinante JMS na árvore e edite as seguintes propriedades:

  1. Altere o campo Nome para " Assinante de Amostra "
  2. Se o provedor JMS usar o arquivo jndi.properties , marque a caixa
  3. Insira o nome da classe InitialContextFactory. Por exemplo, com ActiveMQ 5.4, o valor é " org.apache.activemq.jndi.ActiveMQInitialContextFactory "
  4. Insira o URL do provedor. Esta é a URL do servidor JNDI, se houver. Por exemplo, com ActiveMQ 5.4 na máquina local com porta padrão, o valor é " tcp://localhost:61616 "
  5. Digite o nome da fábrica de conexão. Consulte a documentação do provedor JMS para obter informações. Para ActiveMQ, o padrão é " ConnectionFactory "
  6. Insira o nome do tópico da mensagem. Para Tópicos Dinâmicos do ActiveMQ (criar tópicos dinamicamente), o valor de exemplo é " dynamicTopics/MyStaticTopic1 "
    Nota: A configuração na inicialização significa que o JMeter iniciando a escuta no Destino no início do teste sem possibilidade de alteração de nome. Configurar em cada amostra significa que o JMeter (re)começando a escutar antes de executar cada amostra do Assinante JMS, esta última opção permite ter o nome de destino com algumas variáveis ​​do JMeter
  7. Se o provedor JMS exigir autenticação, marque " obrigatório " e insira o nome de usuário e a senha. Por exemplo, Orion JMS requer autenticação, enquanto ActiveMQ e MQSeries não
  8. Digite 10 em " Número de amostras para agregar ". Por motivos de desempenho, o amostrador agregará mensagens, pois mensagens pequenas chegarão muito rapidamente. Se o amostrador não agregasse as mensagens, o JMeter não conseguiria acompanhar.
  9. Se você quiser ler a resposta, marque a caixa
  10. Existem duas implementações de cliente para assinantes. Se o provedor JMS exibir encadeamentos zumbis com um cliente, tente o outro.


Figura 11.2.  Assinante JMS
Figura 11.2. Assinante JMS

Em seguida, inclua o editor JMS do amostrador no elemento Publicador ( Adicionar  →  Amostrador  →  Publicador JMS ). Em seguida, selecione o elemento JMS Publisher na árvore e edite as seguintes propriedades:

  1. Altere o campo Nome para " Editor de Amostra ".
  2. Se o provedor JMS usar o arquivo jndi.properties , marque a caixa
  3. Insira o nome da classe InitialContextFactory. Por exemplo, com ActiveMQ 5.4, o valor é " org.apache.activemq.jndi.ActiveMQInitialContextFactory "
  4. Insira o URL do provedor. Esta é a URL do servidor JNDI, se houver. Por exemplo, com ActiveMQ 5.4 na máquina local com porta padrão, o valor é " tcp://localhost:61616 "
  5. Digite o nome da fábrica de conexão. Consulte a documentação do provedor JMS para obter informações. Para ActiveMQ, o padrão é " ConnectionFactory "
  6. Insira o nome do tópico da mensagem. Para Tópicos Dinâmicos do ActiveMQ (criar tópicos dinamicamente), o valor de exemplo é " dynamicTopics/MyStaticTopic1 ".
    Nota: A configuração na inicialização significa que o JMeter inicia a conexão com o Destino no início do teste sem possibilidade de alteração de nome. Configurar em cada amostra significa que o JMeter (re)iniciando a conexão antes de executar cada amostra do JMS Publisher, esta última opção permite ter o nome de destino com algumas variáveis ​​do JMeter
  7. Se o provedor JMS exigir autenticação, marque " obrigatório " e insira o nome de usuário e a senha. Por exemplo, Orion JMS requer autenticação, enquanto ActiveMQ e MQSeries não
  8. Digite 10 em " Número de amostras para agregar ". Por motivos de desempenho, o amostrador agregará mensagens, pois mensagens pequenas chegarão muito rapidamente. Se o amostrador não agregasse as mensagens, o JMeter não conseguiria acompanhar.
  9. Selecione a configuração apropriada para obter a mensagem para publicação. Se você quiser que o amostrador selecione aleatoriamente a mensagem, coloque as mensagens em um diretório e selecione o diretório usando o navegador.
  10. Selecione o tipo de mensagem. Se a mensagem estiver em formato de objeto ou mensagem de mapa, certifique-se de que a mensagem seja gerada corretamente.


Figura 11.3.  Editora JMS
Figura 11.3. Editora JMS

11.3 Adicionando um Ouvinte para Visualizar Armazenar os Resultados do Teste

O elemento final que você precisa adicionar ao seu Plano de Teste é um Listener . Este elemento é responsável por armazenar todos os resultados de suas requisições HTTP em um arquivo e apresentar um modelo visual dos dados.

Selecione o elemento Plano de Teste e adicione um ouvinte de Resultados do Gráfico ( Adicionar  →  Ouvinte  →  Resultados do Gráfico ). Em seguida, você precisa especificar um diretório e um nome de arquivo do arquivo de saída. Você pode digitá-lo no campo de nome de arquivo ou selecionar o botão Procurar e navegar até um diretório e inserir um nome de arquivo.


Figura 11.4.  Ouvinte de resultados do gráfico
Figura 11.4. Ouvinte de resultados do gráfico
Go to top