Temporizadores Jmeter: Constante, Aleatório Gaussiano, Uniforme (Exemplo)

Índice:

Anonim

O que são temporizadores?

Por padrão, o JMeter envia a solicitação sem pausar entre cada solicitação. Nesse caso, o JMeter pode sobrecarregar seu servidor de teste, fazendo muitas solicitações em um curto espaço de tempo.

Vamos imaginar que você envie milhares de solicitações a um servidor da web em teste em poucos segundos. Isto é o que acontece!

Os temporizadores permitem que o JMeter atrase cada solicitação feita por um encadeamento. Um cronômetro pode resolver o problema de sobrecarga do servidor .

Além disso, na vida real, os visitantes não chegam a um site todos ao mesmo tempo, mas em intervalos de tempo diferentes. Portanto, o Timer ajudará a imitar o comportamento em tempo real.

Neste tutorial, você aprenderá

  • Temporizador Constante
  • Gaussian Random Timer
  • Temporizador Aleatório Uniforme
  • BeanShell Timer
  • BSF Timer
  • JSR223 Timer
  • Como usar o temporizador constante

A seguir estão alguns tipos comuns de um cronômetro no JMeter

Temporizador constante:

O temporizador constante atrasa cada solicitação do usuário pelo mesmo período de tempo.

Gaussian Random Timer:

O cronômetro aleatório gaussiano atrasa cada solicitação do usuário por um período de tempo aleatório .

Parâmetros:

Atributo Descrição
Nome Nome descritivo para este cronômetro que é mostrado na árvore
Desvios (milissegundos) Um parâmetro da Função de Distribuição Gaussiana
Compensação de atraso constante (milissegundos) Valor adicional em milissegundos

Portanto, o atraso total é descrito como a figura abaixo:

Temporizador aleatório uniforme:

O temporizador aleatório uniforme atrasa cada solicitação do usuário por um período de tempo aleatório.

Parâmetros:

Atributo

Descrição

Nome

Nome descritivo para este cronômetro que é mostrado na árvore

Máximo de atraso aleatório

Número máximo aleatório de milissegundos para atrasar.

Compensação de atraso constante (milissegundos)

Valor adicional em milissegundos

O atraso total é a soma do valor aleatório e o valor de deslocamento.

BeanShell Timer

O BeanShell Timer pode ser usado para gerar um tempo de atraso entre cada solicitação do usuário.

BSF Timer

O BSF Timer pode ser usado para gerar um atraso entre cada solicitação do usuário usando uma linguagem de script BSF.

JSR223 Timer

O Timer JSR223 pode ser usado para gerar um atraso entre cada solicitação do usuário usando uma linguagem de script JSR223

Como usar o temporizador constante

Neste exemplo, você usará o Temporizador constante para definir um atraso fixo entre as solicitações do usuário para google.com.

Vamos começar com um script de teste simples

  1. JMeter cria uma solicitação de usuário para http://www.google.com 100 vezes
  2. O atraso entre cada solicitação do usuário é de 5000 ms

Aqui está o roteiro para este exemplo prático:

Condição prévia:

Nós re-utilizar o Etapas 1 e 2 em tutorial JMeter Teste de Desempenho.

Etapa 1) Adicionar Grupo de Tópicos

Clique com o botão direito no Plano de Teste e adicione um novo grupo de threads: Adicionar -> Threads (Usuários) -> Grupo de Threads

No painel de controle Thread Group, insira Thread Properties como a seguir

Esta configuração permite que o JMeter crie uma solicitação de usuário para http://www.google.com em 100 vezes

Etapa 2) Adicionar elementos JMeter

  • Adicionar padrão de solicitação HTTP
  • Adicionar solicitação HTTP

Etapa 3) Adicionar temporizador constante

Clique com o botão direito em Thread Group -> Timer -> Constant Timer

Configurando Thread Delay de 5000 milissegundos

Etapa 4) Adicionar Ver Resultados na Tabela

Exibir resultados na tabela exibe o resultado do teste em formato de tabela.

Clique com o botão direito em Adicionar -> Ouvinte -> Exibir Resultado na Tabela

Exibir resultados na tabela exibe a figura abaixo

Etapa 5) Execute seu teste

Quando estiver pronto para executar um teste, clique no botão Executar na barra de menu ou na tecla de atalho Ctrl + R

Este é o resultado deste teste

Por exemplo, na figura acima, vamos analisar a Amostra 2

  • O horário de início é 22: 05: 01.866
  • O tempo de amostra da amostra 2 é 172 ms
  • Temporizador constante : 5000 ms (conforme configurado)
  • A hora de término desta amostra é = 22: 05: 01.866 + 172 + 5000 = 22: 05: 07.038

Portanto, a Amostra 3 deve começar no horário 22: 05: 07.039 (conforme mostrado na figura acima)

O atraso de cada amostra é de 5000 ms

Se você alterar o temporizador constante para zero , você verá que o resultado é alterado

Vamos analisar a Amostra 1

  • O horário de início é 22: 17: 39.141
  • O tempo de amostra da amostra 2 é 370 ms
  • Temporizador constante : 0 ms (conforme configurado)
  • A hora de término desta amostra é = 22: 17: 39,141+ 370 + 0 = 22: 17: 39,511

Portanto, a Amostra 2 deve começar no momento em que é 22: 17: 39.512 (mostrado na figura acima)

Solução de problemas:

Se você enfrentar o problema ao executar o cenário acima ... faça o seguinte

  1. Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
  2. Abra uma nova instância do JMeter
  3. Abra o TimerTestPlan.jmx no Jmeter
  4. Clique duas vezes no Grupo de Tópicos -> Ver Resultado na Tabela
  5. Execute o teste