Temporizadores Jmeter: Constante, Aleatório Gaussiano, Uniforme [Exemplo]

O que são temporizadores?

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

Vamos imaginar que você envia milhares solicitação para um servidor web em teste em poucos segundos. Isto é o que acontece!

Temporizadores em JMeter

Os temporizadores permitem que o JMeter atraso entre cada solicitação que um thread faz. Um cronômetro pode resolver o servidor sobrecarga problema.

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

Following são alguns comum tipos de temporizador no JMeter

Temporizador constante

O temporizador constante atrasa cada solicitação do usuário para o mesmo quantidade de tempo.

Temporizador Constante em Jmeter

Temporizador Aleatório Gaussiano

Gaussian temporizador aleatório atrasa cada solicitação do usuário para um acaso quantidade de tempo.

Temporizador aleatório gaussiano em Jmeter

parâmetros

Atributo Descrição
Nome Nome descritivo deste temporizador mostrado na árvore
Desvios (milissegundos) A parâmetro da Função de Distribuição Gaussiana
Deslocamento de atraso constante (milissegundos) Adicional valor em milissegundos

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

Temporizador aleatório gaussiano em Jmeter

Temporizador aleatório uniforme

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

Temporizador aleatório uniforme em Jmeter

parâmetros

Atributo Descrição
Nome Nome descritivo deste temporizador mostrado na árvore
Atraso aleatório máximo Número aleatório máximo de milissegundos para atrasar.
Deslocamento de atraso constante (milissegundos) Adicional valor em milissegundos

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

Temporizador BeanShell

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

Temporizador BSF

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

Temporizador JSR223

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

Como usar o temporizador constante

Neste exemplo, você usará Temporizador constante para definir um atraso fixo entre solicitações de usuários para google.com.

Vamos começar com um script de teste simples

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

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

Use o temporizador constante no Jmeter

Pré-condição

We reuso a Etapa 1 e a Etapa 2 do tutorial Teste de desempenho JMeter.

Etapa 1) Adicionar grupo de tópicos

Botão direito do mouse sobre a Plano de teste e adicione um novo grupo de threads: Adicionar-> Tópicos (Usuários) ->Grupo de Tópicos

No painel de controle do Thread Group, insira Thread Properties conforme a seguirwing

Adicionar grupo de threads

Esta configuração permite que o JMeter crie um solicitação do usuário para http://www.google.com in 100 vezes

Etapa 2) Adicionar elementos JMeter

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

Etapa 3) Adicionar temporizador constante

Botão direito do mouse Grupo de Tópicos -> Cronômetro -> Temporizador constante

Adicionar temporizador constante

Configurando Thread Delay de 5000 milissegundos

Adicionar temporizador constante

Etapa 4) Adicionar resultados de visualização na tabela

Visualizar resultados em tabela exibe o resultado do teste em formato de tabela.

Botão direito do mouse Adicionar -> Ouvinte ->Ver resultado na tabela

Adicionar resultados de visualização na tabela

Ver resultados na tabela é exibido conforme a figura abaixo

Adicionar resultados de visualização na tabela

Etapa 5) Execute seu teste

Quando estiver pronto para executar um teste, clique em a corrida botão na barra de menu ou tecla curta Ctrl + R

Este é o resultado deste teste

Execute o teste

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

  • Hora de início é 22:05:01.866
  • Amostra Tempo da Amostra 2 é 172 ms
  • Temporizador constante: 5000 ms (conforme configurado)
  • End Time desta amostra é = 22:05:01.866 + 172 + 5000 = 22:05:07.038

Portanto, a Amostra 3 deve começar no momento em que 22:05:07.039 (Como mostrado na figura acima)

A atraso de cada amostra é 5000 ms

Se você alterar o Temporizador Constante é zero, você verá que o resultado foi alterado

Execute o teste

Vamos analisar o Amostra 1

  • Hora de início é 22:17:39.141
  • Amostra Tempo da Amostra 2 é 370 ms
  • Temporizador constante : 0 ms (conforme configurado)
  • End Time desta amostra é = 22:17:39.141+ 370 + 0 = 22:17:39.511

Então o Amostra 2 deve começar na hora é 22:17:39.512 (Mostrado na figura acima)

Se você enfrentar o problema ao executar o cenário acima… faça o seguintewing

  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 em Jmeter
  4. Double Clique em Grupo de Threads -> Ver Resultado na Tabela
  5. Execute o teste