Primeiro, podemos escolher o Jenkins para implementar a integração contínua de testes de desempenho. As etapas específicas são as seguintes:
1. Instalação do plug-in de desempenho
Método 1. Instalação online: interface de plug-in opcional de plug-in de gerenciamento de sistema, encontre o plug-in que precisa ser instalado: Plug-in de desempenho,
Instale diretamente após verificar
Observações: Ao usar o método 1, se o plug-in não puder ser baixado, expanda as informações de Falha, encontre as informações de hpi correspondentes e altere-as.
Download de espelho doméstico,
Por exemplo: endereço do espelho da Universidade de Tsinghua: https://mirrors.tuna.tsinghua.edu.cn/jenkins/
Caminho para atualizar o endereço do espelho: System Management — Management Plug-in — Advanced — Upgrade Site
Método 2. Instalação offline: baixe o arquivo hpi do plug-in, em Jenkins: Gerenciamento do sistema - Gerenciar plug-in - Avançado - faça upload do plug-in, carregue diretamente
Plugar
Observações: caminho do arquivo hpi de desempenho: https://updates.jenkins.io/download/plugins/performance/
Endereço de download do plug-in de extensão de e-mail: https://updates.jenkins.io/download/plugins/email-ext/
Publicar relatórios HTML Endereço de download do plug-in: https://plugins.jenkins.io/htmlpublisher/ O plug-in
HTML Publisher é instalado por padrão na versão jenkins geral
Se a instalação falhar, pode ser que a versão do plug-in seja muito alta ou muito baixa, o que não é compatível com o Jenkins atual, e você precisa usar outra versão do plug-in
2. Integração contínua de testes de desempenho
1. Instale o Jenkins e use a máquina onde o Jenkins está instalado como o despachante, instale o Jmeter no despachante e teste o desempenho
Faça upload do script e dos dados para a máquina, ou seja, o servidor Jenkins também é a máquina de agendamento
Observações: JDK também deve ser instalado de forma síncrona na máquina, e outro software como git e python pode precisar ser instalado de acordo com as necessidades reais.
Configuração do despachante
(1) Modifique a configuração do arquivo jmeter.properties:
1) Remova o comentário server.rmi.ssl.disable = false e altere false para true
2) Adicione uma linha java.rmi.server.hostname = 10.12.224.215 no final do arquivo, hostname é o endereço IP da máquina
3) Se necessário, personalize a porta de comunicação, a porta padrão é 1099: se modificada para 1089
server_port = 1089
server.rmi.localport = 1089
4) Atualize remote_hosts para o IP e porta do executor.O valor padrão da porta é 1099, que pode ser personalizado como acima.Ele pode ser usado no meio de vários executores.
Separe por vírgulas. Se o dispatcher for usado como dispatcher e executor, o IP do dispatcher e a porta precisam ser adicionados.
2. Instale o Jmeter na máquina de execução e carregue os dados do teste de desempenho para a máquina
Nota 1: o JDK também deve ser instalado de forma síncrona na máquina, e outro software como git e python pode precisar ser instalado de acordo com as necessidades reais.
A versão dele é melhor ser consistente com a máquina de programação
Configuração da máquina de execução
(1) Modifique a configuração do arquivo jmeter.properties:
1) Remova o comentário server.rmi.ssl.disable = false e altere false para true
2) Adicione uma linha java.rmi.server.hostname = 10.12.224.215 no final do arquivo, hostname é o endereço IP da máquina
3) Se necessário, personalize a porta de comunicação, a porta padrão é 1099: se modificada para 1089
server_port = 1089
server.rmi.localport = 1089
4) Atualizar remote_hosts, porque o executor também precisa enviar mensagens de volta, então remote_hosts também precisa configurar o IP e a porta do despachante
(2) digite o comando para iniciar o agente executor
sh /web/performance/apache-jmeter-4.0/bin/jmeter-server
(Esta informação de parâmetro precisa ser adicionada quando a inicialização é anormal, o nome do host é o endereço IP da máquina do agente
-Djava.rmi.server.hostname = 10.16.244.150
Nota: O comando para iniciar o servidor jmeter no linux é: sh jmeter-server
Para janelas, clique duas vezes para abrir: jmeter-server.bat
Aqui é para iniciar o serviço jmeter no escravo. Se a figura a seguir aparecer, a inicialização foi bem-sucedida.
O IP e a porta acima são o IP e a porta configurados em remote_hosts do despachante
:
O despachante inicia o serviço de proxy, a mensagem de erro:
root@ranxf:/home/ranxf/apache-jmeter-3.1/bin# ./jmeter-server
Writing log file to: /home/ranxf/apache-jmeter-3.1/bin/jmeter-server.log
Created remote object: UnicastServerRef [liveRef: [endpoint:[127.0.1.1:45261](local),objID:[-77439517:162bd0d02af:-7fff, -6895836418342878128]]]
Server failed to start: java.rmi.RemoteException: Cannot start. ranxf is a loopback address.
An error occurred: Cannot start. ranxf is a loopback address.
solução:
Execute novamente após adicionar parâmetros ao jmeter-server:
sh /web/performance/apache-jmeter-4.0/bin/jmeter-server -Djava.rmi.server.hostname = 10.16.244.150
3. Crie um novo trabalho no Jenkins e adicione etapas de construção
Se a máquina de agendamento for um sistema operacional Linux, selecione "executar shell"; se a máquina de agendamento for um sistema operacional Windows, selecione "executar windows"
Comando em lote "
cd /web/performance/apache-jmeter-4.0/bin
git pull http://gitlab.wumart.com/dmall-scm/wms_performance.git
sleep 2
cd /web/performance
rm -rf report
rm -rf testResult.jtl
sleep 2
sh /web/performance/apache-jmeter-4.0/bin/jmeter.sh -n -t /web/performance/apache-jmeter-4.0/bin/performancScript.jmx -R 10.16.244.150:1089 -l /web/performance/testResult.jtl -e -o /web/performance/report
Nota: A pasta do relatório de teste deve estar vazia ou não existir (se não existir, a pasta será criada automaticamente e o relatório de teste será salvo nela),
O parâmetro é o caminho da pasta do relatório
O Linux executa o comando de script jmete como: sh jmeter.sh windows as: jmeter
4. Adicionar operação de pós-construção Publicar relatórios HTML
O plug-in HTML Publisher precisa ser instalado. Geralmente, o plug-in HTML Publisher é instalado por padrão na versão jenkins
(1) Depois de construir, selecione Publicar plug-in de relatórios HTML e configure as informações
Descrição:
Diretório HTML para arquivar: caminho para salvar o relatório de teste
página de índice [s]: Você pode manter o valor padrão
título da página de índice [s]: O nome da página do relatório de teste
Título do relatório: nomenclatura do relatório de teste
5. Adicionar operação pós-construção Publicar relatório de resultado de teste de desempenho
Descrição:
Arquivos de dados de origem: o caminho do arquivo de resultado do teste de desempenho, conforme listado acima, é o arquivo de resultado do teste de desempenho cujo programador é o sistema operacional linux
caminho
6. Visualize o relatório de resultados através do Relatório HTML
7. Outros assuntos:
1. jmeter.properties, você pode encontrar problemas de permissão que não podem ser abertos ou outros problemas de permissão de arquivo:
Você pode usar: chmod 777 filename para adicionar permissões, e então você pode abri-lo novamente
2. Porta personalizada: A porta de comunicação entre cliente e servidor, você não precisa modificá-la, o padrão é 1099
No diretório bin do Jmeter na máquina escrava, encontre o arquivo jmeter.properties e modifique os dois itens de configuração a seguir, como
Estou aqui para modificá-lo para 1888:
server_port = 1888
server.rmi.localport = 1888
3. Certifique-se de que as versões jmeter e java do planejador e do executor são as mesmas. Versões diferentes podem ter problemas de coordenação
4. O despachante e o executor precisam desligar o firewall.
5. A rede do despachante e do bureau executivo precisa ser mantida na mesma rede local e pode ser pingada
6. A máquina de execução não precisa de um script de teste de desempenho, porque a máquina de envio envia o script para cada máquina de execução por comando, mas se
O teste usa arquivos de dados externos, portanto, observe que esses arquivos não serão distribuídos pela máquina de agendamento, portanto, o testador precisa garantir que cada
Esses arquivos de dados são salvos na máquina de execução, e o caminho do arquivo está correto
7. Às vezes, há muito poucas máquinas usadas como máquina de execução para atender às necessidades, e o computador da máquina despachante precisa ser usado como máquina de execução.
Dessa forma, você precisa modificar o arquivo jmeter.properties e gravar o IP do planejador em remote_hosts. Ao mesmo tempo, desta vez você precisa jogar
Abra jmeter-server.bat no diretório% JMeter_home% / bin do computador mestre,
Em seguida, abra jmeter.bat. Não é recomendado usar a máquina de agendamento como um executor quando não é necessário, porque agendamento de tarefas e coleta de informações de resultado
Informações e resumos também consomem recursos do sistema