Temporizadores Jmeter: Constante, Aleatório Gaussiano, Uniforme [Exemplo]
O que são temporizadores?
Por padrão, o JMeter envia o pedido sem pausa entre cada solicitação. Nesse caso, 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!
Os temporizadores permitem JMeter para 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.
A seguir estão alguns comum tipos de temporizador em JMeter
Temporizador constante
O temporizador constante atrasa cada solicitação do usuário para o mesmo quantidade de tempo.
Temporizador Aleatório Gaussiano
Gaussian temporizador aleatório atrasa cada solicitação do usuário para um acaso quantidade de tempo.
parâmetros
Atributo | Descrição |
---|---|
Nome | Descriptive nome para este temporizador que é 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 uniforme
O cronômetro aleatório uniforme atrasa cada solicitação do usuário por um período de tempo aleatório.
parâmetros
Atributo | Descrição |
---|---|
Nome | Descriptive nome para este temporizador que é 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
- JMeter cria um solicitação do usuário para http://www.google.com 100 vezes
- Demora entre cada solicitação do usuário é 5000 ms
Aqui está o roadmap para este exemplo prático:
Pré-condição
We reuso a Etapa 1 e a Etapa 2 do tutorial JMeter Teste de Desempenho.
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 da seguinte forma
Esta configuração permite JMeter crio um solicitação do usuário para http://www.google.com in 100 vezes
Etapa 2) Adicionar JMeter elementos
- 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
Configurando Thread Delay de 5000 milissegundos
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
Ver resultados na tabela é exibido conforme a figura abaixo
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
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
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)
guia de solução de problemas
Se você enfrentar o problema ao executar o cenário acima… faça o seguinte
- Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
- Abra uma nova instância de JMeter
- Abra o TimerTestPlan.jmx em Jmeter
- Double Clique em Grupo de Threads -> Ver Resultado na Tabela
- Execute o teste