minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
a interface gráfica do jmeter é usada principalmente para depurar scripts
Faça um script primeiro
Demonstração: Como fazer o roteiro de uma cena mista?
Use uma proporção de negócios de 211
Serviços de banco de dados: incluindo mysql, redis
porta mysql padrão 3306
netstat -lntp | grep 3306
No estado de escuta, 6379 é a porta padrão do redis
netstat -lntp | grep 6379
Porta de serviço do projeto 18089
netstat -lntp | grep 18089
211 pode ser convertido em dois serviços de testes de estresse
Uma é registrar-se, a outra é registrar-se e fazer login para adicionar produtos.
Ambos são 50%
jmeter—adicionar grupo de threads-adicionar thread-user-thread group
Converta dois serviços de teste de estresse
jmeter — controlador de adição de lógica – controlador de rendimento
Converta dois serviços de teste de estresse.
O primeiro negócio de teste de estresse inclui registro, login e adição de produtos
O segundo negócio de teste de estresse é o registro
50% cada
solicitação jmeter-add-sampler-http
Converta dois serviços de teste de estresse
Escreva de acordo com a arrogância do registro, insira os parâmetros
Geralmente, você não precisa preencher o ID ao inseri-lo.
Addtime também não precisa ser preenchido
Copie e cole os dados do parâmetro no jmeter
caminho baseado no URL
Todos eles passam json
Preencha o ip e a porta de acordo com o documento da interface
É melhor adicionar afirmações
-nExecute jmeter em modo não-gui
-t executa o local do arquivo de teste Especifica o script para executar o jmeter. Não está no caminho atual.
-l especifica o arquivo de resultado gerado, que é um arquivo jtl
-e Após a conclusão do teste, gere um relatório de teste
-o especifica o local de armazenamento do html do relatório de teste
-r início remoto
Instale jdk e jmeter no linux press
Instale em usr/local
Carregue o jmeter diretamente na janela para a impressora Linux, pois os plug-ins envolvidos no script de depuração também estão disponíveis.
Nota: Se o script envolver um arquivo de parâmetro csv, será necessário fazer upload do arquivo de parâmetro csv' para o diretório bin do jmeter no Linux.
Os relatórios de agregação e os listeners precisam ser desativados antes do upload
5 threads, adicione um a cada 30, ou seja, 150
A duração precisa ser maior que o tempo de ativação de 150. Se durar mais 50 segundos, defina-o para 200.
Depois que o upload do jmeter for bem-sucedido, verifique a versão do jmeter e se ela está disponível.
Existem dois lugares
Primeiro, o caminho para armazenar o script de teste precisa criar um diretório para armazenar o relatório HTML.
Antes de executar o script, o diretório res deve estar vazio
Segundo, limpe os dados da tabela do banco de dados sem considerar os dados existentes.
resultado
Concluiu 548 solicitações em 13 segundos
Abrir relatório agregado
O número de solicitações com falha de ko
tempo de resposta
TPS (teste padrão)
Como visualizar arquivos jtl?
jtl pode ser aberto em qualquer ouvinte, como visualização de árvore de resultados, relatório agregado, tps, tempo de resposta.
Se aberto em um relatório agregado, clique em Procurar
Como tps, tempo de resposta
Vejamos primeiro o tps
Adicionar tps
Clique para navegar
Tempo de resposta
Às vezes, uma imprensa não consegue atingir a meta e é necessária uma imprensa distribuída.
Afinal, os recursos de máquina única são limitados e é difícil suportar grandes impressoras simultâneas e também apresentam gargalos.
Website oficial:https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Uma máquina servidora serve como uma máquina de controle
O resto das máquinas são usadas como máquinas de carga
O serviço solicitado pelo destino
O controlador controla remotamente a partida e a parada da máquina de carga enviando sinais e, ao mesmo tempo, coleta dados e resumos da máquina de carga
A máquina de carregamento inicia principalmente threads para acessar o servidor e direcionar o servidor sob teste de estresse.
Geralmente, o trabalhador inicia a máquina de controle do servidor jmeter para controlar remotamente a máquina de carga. A máquina de carga inicia o thread e solicita que o destino obtenha os dados e os envia de volta para a máquina de controle.
Onde os scripts são colocados quando distribuídos?
Um controlador, vários trabalhadores
Ao executar o não-gui, o script é transmitido ao servidor. Agora que está distribuído, para onde o script deve ser transmitido?
O script será transferido para o controlador. Durante a execução, o script será enviado para cada máquina de carga, ou seja, após a carga obter o script, ele começará a executar o script. para a máquina de controle para resumo.
O firewall precisa ser fechado. Se o firewall não estiver fechado, a porta precisa ser aberta.
Todos os clientes devem estar na mesma sub-rede.
Certifique-se de que o jmeter possa acessar o servidor
Certifique-se de que as versões jmeter e java sejam iguais
desabilitar SSL
Requer 3 máquinas virtuais
Use 181 como controlador (máquina de controle)
Use 182.183 como Trabalhador (máquina de carga)
Ao mesmo tempo, essas três máquinas virtuais devem instalar o jdk e o jmeter.
Ver versão do jdk
Instale o jmeter em três máquinas virtuais
O jmeter da máquina local é transferido para o diretório usr/local da máquina virtual.
Verifique a versão do jmeter após o upload
182、182
Faça backup do arquivo de configuração jmeter.properties primeiro
server_port pode ser modificado ou não. O valor padrão é 1099.
desabilitar SSL
server.rmi.ssl.disable=false, altere falso para verdadeiro
Comece jemter
./jmeter-servidor
Verifique a porta 182 para ver se está em estado de escuta
verificar
Faça Telnet da máquina de controle para a máquina de carga para ver se a porta está acessível.
Antes de configurar a máquina de controle, depure no jmeter na janela.
win: para depuração
Faça backup do arquivo de configuração jmeter.properties primeiro
Por padrão, esta máquina é usada como máquina de carregamento.
A máquina de carregamento atual é uma máquina de carregamento remoto, altere remote_hosts=127.0.0.1 para remote_hosts=192.168.117.182:1099
O IP e a porta da máquina de carregamento remoto devem ser escritos aqui. Se múltiplos forem múltiplos, separe-os com vírgulas.
desabilitar SSL
Altere server.rmi.ssl.disable=false para server.rmi.ssl.disable=true
Primeiro depure-o através desta máquina
Reinicie o jmeter e releia o arquivo de configuração
Após depurar na janela, vá para o Linux para configuração.
Configurar em 181
Faça backup do arquivo de configuração jmeter.properties primeiro
A máquina de carga atual é uma máquina de carga remota, queremote_hosts=127.0.0.1
Mudar pararemote_hosts=192.168.117.182:1099
O IP e a porta da máquina de carregamento remoto devem ser escritos aqui. Se múltiplos forem múltiplos, separe-os com vírgulas.
servidor.rmi.ssl.disable=false
Vaiserver.rmi.ssl.disable=false
Mudar paraserver.rmi.ssl.disable=true
Quando o script for transmitido para a máquina de controle, o script será distribuído automaticamente para cada máquina de carga.
Login de cenário único de teste separado
Depois de enviar o script, execute o script
Executar por meio de carregamento remoto
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Cada máquina de carga de trabalho (prensa) possui 5 fios, e a máquina de controle total possui 10 fios.
Preparação ambiental
Duas máquinas virtuais. Há um mestre e dois escravos. A máquina Windows serve como um mestre e o escravo usa uma máquina virtual.
Fonte: https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Problemas que surgem:
java.rmi.RemoteException: Não é possível iniciar. localhost.localdomain é um endereço de loopback
Objeto remoto criado: UnicastServerRef2 [liveRef: [endpoint:127.0.0.1:43474,objID:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
Falha ao iniciar o servidor: java.rmi.RemoteException: Não é possível iniciar. localhost.localdomain é um endereço de loopback.
Ocorreu um erro: Não é possível iniciar. localhost.localdomain é um endereço de loopback.
Informações de exceção: Exceção de inicialização do servidor: Chamada de método remoto Java gerou exceção: Não é possível iniciar o serviço. localhost.localdomain é um endereço de loopback local
O nome do host obtido por meio do comando hostname é localhost.
Verifique a configuração dos hosts através do comando cat /etc/hosts localhost.localdomain localhost4... aponta para 127.0.0.1.
Solução:
Especifique o endereço IP do host do servidor remoto (rmi.server.hostname)
Comece especificando o comando do terminal
./jmeter-server -Djava.rmi.server.hostname=192.168.2.2