Um aplicativo Java de código aberto projetado para medir o desempenho e testar aplicativos de carga.
Pela Apache Software Foundation
O Apache JMeter pode medir o desempenho e testar a carga de aplicativos da web estáticos e dinâmicos.
Ele pode ser usado para simular uma carga pesada em um servidor, grupo de servidores, rede ou objeto para testar sua resistência ou para analisar o desempenho geral sob diferentes tipos de carga.
Portabilidade completa e 100% Java.
Multi-threading permite amostragem simultânea por muitos threads e amostragem simultânea de diferentes funções por grupos de threads separados.
Capacidade de carregar e testar o desempenho de muitos tipos de aplicativos/servidores/protocolos:
IDE de teste completo que permite gravação rápida do plano de teste (de navegadores ou aplicativos nativos), construção e depuração .
Modo de linha de comando (modo não GUI / headless) para carregar teste de qualquer sistema operacional compatível com Java (Linux, Windows, Mac OSX, ...)
Um relatório HTML dinâmico completo e pronto para apresentar
Relatórios ao vivo em bancos de dados de terceiros, como InfluxDB ou Graphite
Correlação fácil através da capacidade de extrair dados dos formatos de resposta mais populares, HTML, JSON, XML ou qualquer formato textual
Detalhes da versão mais recente podem ser encontrados no site do JMeter Apache Project
Existem os seguintes requisitos para executar o Apache JMeter:
Intérprete Java:
Um Java 17 Runtime Environment totalmente compatível é necessário para a execução do Apache JMeter. Um utilitário JDK com keytool
é mais adequado para gravar sites HTTPS.
Frascos opcionais:
Alguns jars não estão incluídos no JMeter. Se necessário, estes devem ser baixados e colocados no diretório lib
Compilador Java ( OPCIONAL ):
Um compilador Java não é necessário, pois a distribuição inclui um arquivo binário Java pré-compilado.
Observe que é necessário um compilador para construir plug-ins para Apache JMeter.
Observe que espaços em nomes de diretórios podem causar problemas.
Lançar compilações
Descompacte o arquivo binário em uma estrutura de diretório adequada.
bin
jmeter
(Un*x) ou jmeter.bat
(Windows).Para Windows, também existem alguns outros scripts nos quais você pode arrastar e soltar um arquivo JMX:
jmeter-n.cmd
- executa o arquivo como um teste não GUIjmeter-nr.cmd
- executa o arquivo como um teste remoto não GUI (cliente-servidor)jmeter-t.cmd
- carrega o arquivo pronto para executá-lo como um teste GUI A documentação disponível na data deste lançamento também está incluída, em formato HTML, no diretório printable_docs, e pode ser navegada a partir do arquivo denominado index.html.
Consulte Rastreamento de problemas.
Descompacte o arquivo fonte em uma estrutura de diretório adequada. A maioria dos arquivos de biblioteca de terceiros pode ser extraída do arquivo binário descompactando-o na mesma estrutura de diretórios.
Quaisquer jars opcionais (veja acima) devem ser colocados em lib/opt
e/ou lib
.
Jars em lib/opt
serão usados para construir o JMeter e executar os testes de unidade, mas não serão usados em tempo de execução.
Isso é útil para testar o que acontece se os jars opcionais não forem baixados por outros usuários do JMeter.
Se você estiver atrás de um proxy, poderá definir algumas propriedades de compilação em ~/.gradle/gradle.properties
para que o Gradle use o proxy:
systemProp.http.proxyHost =proxy.example.invalid
systemProp.http.proxyPort =8080
systemProp.http.proxyUser =your_user_name
systemProp.http.proxyPassword =your_password
systemProp.https.proxyHost =proxy.example.invalid
systemProp.https.proxyPort =8080
systemProp.https.proxyUser =your_user_name
systemProp.https.proxyPassword =your_password
JMeter é construído usando Gradle e usa Toolchains para projetos JVM do Gradle para provisionar JDKs. Isso significa que o código procurará os JDKs necessários localmente ou fará o download deles se não forem encontrados.
Por padrão, o código usaria JDK 17 para fins de construção, no entanto, definiria a versão de destino como 8, para que os artefatos resultantes fossem compatíveis com Java 8.
O comando a seguir cria e testa o JMeter:
./gradlew build
Se quiser usar um JDK personalizado para construção, você pode definir -PjdkBuildVersion=11
e pode selecionar -PjdkTestVersion=21
se quiser usar um JDK diferente para teste.
Você pode listar os parâmetros de construção disponíveis executando
./gradlew parameters
Se o sistema não tiver uma tela GUI, então:
./gradlew build -Djava.awt.headless=true
Os artefatos de saída (jars, relatórios) são colocados na pasta build
. Por exemplo, artefatos binários podem ser encontrados em src/dist/build/distributions
.
O comando a seguir compilaria o aplicativo e permitiria que você executasse jmeter
no diretório bin
.
Observe que ele atualiza completamente o conteúdo
lib/
, portanto, removeria plug-ins personalizados caso você os tivesse instalados emlib/
. No entanto, isso manterialib/ext/
plugins intactos.
./gradlew createDist
Alternativamente, você pode fazer com que o Gradle inicie a GUI:
./gradlew runGui
Construir e contribuir é explicado em detalhes em build JMeter e CONTRIBUTING.md. Mais informações sobre as tarefas disponíveis para construir JMeter com Gradle estão disponíveis em gradle.md.
O código pode ser obtido em:
Para obter informações legais e de licenciamento, consulte os seguintes arquivos:
Esta distribuição pode incluir software que foi projetado para uso com software criptográfico. O país em que você reside atualmente pode ter restrições à importação, posse, uso e/ou reexportação para outro país de software de criptografia. ANTES de usar qualquer software de criptografia, verifique as leis, regulamentos e políticas do seu país relativas à importação, posse ou uso e reexportação de software de criptografia para ver se isso é permitido. Consulte https://www.wassenaar.org/ para obter mais informações.
O Departamento de Comércio do Governo dos EUA, Bureau de Indústria e Segurança (BIS), classificou este software como Export Commodity Control Number (ECCN) 5D002.C.1, que inclui software de segurança da informação que usa ou executa funções criptográficas com algoritmos assimétricos. A forma e o modo desta distribuição da Apache Software Foundation a tornam elegível para exportação sob a exceção License Exception ENC Technology Software Unrestricted (TSU) (consulte os Regulamentos de Administração de Exportação do BIS, Seção 740.13) para código-objeto e código-fonte.
A seguir são fornecidos mais detalhes sobre o software incluído que pode estar sujeito a controles de exportação de software criptográfico:
O Apache JMeter faz interface com a API Java Secure Socket Extension (JSSE) para fornecer
Interfaces Apache JMeter (via Apache HttpClient4) com a API Java Cryptography Extension (JCE) para fornecer
Apache JMeter não inclui nenhuma implementação de JSSE ou JCE.
Obrigado por usar o Apache JMeter.
Aviso para mxparser:
Este produto inclui software desenvolvido pela Indiana University Extreme! Laboratório. Para mais informações, visite http://www.extreme.indiana.edu/