Configuração Distribuída do JMeter
Configure e execute testes do JMeter em vários mecanismos remotos para lidar com cargas massivas.
Configuração Distribuída do JMeter é uma aula grátis de Load Testing & Performance Benchmarking (JMeter & k6) no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Load Testing & Performance Benchmarking (JMeter & k6), e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Load Testing & Performance Benchmarking (JMeter & k6) inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Why Distributed Testing?
When a single machine isn't enough to generate the required load, we need distributed testing. This means using multiple machines to simulate a massive number of users.
JMeter supports this by allowing you to run a test across several remote engines, all controlled by one master machine.
JMeter's Distributed Architecture
JMeter uses a Master-Slave architecture for distributed testing.
- Master: Your local machine, where you design the test plan and initiate the test. It collects results from the slaves.
- Slave (Engine): Remote machines that execute the test plan and generate the actual load against your target application.
Setup Prerequisites
Before setting up, ensure:
- Java: All master and slave machines have the same version of Java installed.
- JMeter: The same JMeter version is installed on all machines.
- Network: All machines are on the same network and can communicate with each other.
- Firewall: Ports are open for communication (default 1099, plus others if specified).
Master Configuration
The master machine needs to know about its slaves. Open jmeter.properties (in JMeter's bin folder) on the master machine.
Find the remote_hosts property and list the IP addresses or hostnames of your slave machines, separated by commas.
remote_hosts=192.168.1.101,192.168.1.102Slave Configuration
On each slave machine, you typically don't need to modify remote_hosts. However, you might need to ensure RMI (Remote Method Invocation) communication is correctly set up.
If you have multiple network interfaces, set java.rmi.server.hostname to the slave's IP address in jmeter.properties. This tells the master which IP to connect to.
java.rmi.server.hostname=192.168.1.101Launching Slave Engines
Once configured, start the JMeter server on each slave machine. Navigate to JMeter's bin directory and run the jmeter-server script.
This command starts the JMeter engine, making it ready to receive test plans from the master.
jmeter-serverFirewall & Port Setup
JMeter's distributed testing relies on RMI, which uses specific ports for communication. By default, RMI uses port 1099.
Ensure that port 1099 (or any custom RMI port you configure) is open in both directions (inbound/outbound) on the firewalls of all master and slave machines.
Executing a Distributed Test
From the master machine, you can start the test using the command line. Use the -R flag followed by the slave IP addresses to specify which remote engines to use.
The test plan (JMX file) will be sent to the specified remote engines, which will then execute it concurrently.
jmeter -n -t my_test_plan.jmx -R 192.168.1.101,192.168.1.102 -l results.jtlRunning via GUI (Master)
You can also initiate a distributed test directly from the JMeter GUI on the master machine.
Go to Run > Remote Start and select the IP addresses of the slave machines you want to use. This offers a visual way to manage your remote engines.
Distributed Setup Check
You've learned how to set up JMeter for distributed testing. Let's test your understanding!
Distributed Testing Recap
Great job! You've learned how to configure JMeter for distributed load testing.
- We covered the Master-Slave architecture.
- You now know how to configure
jmeter.propertieson both master and slave machines. - We discussed starting slave engines and running tests remotely from the master.
- Remember firewall considerations for smooth communication!
This setup allows you to simulate massive user loads, far beyond what a single machine can handle.
Perguntas Frequentes
A aula “Configuração Distribuída do JMeter” é grátis?
Sim — o texto completo de “Configuração Distribuída do JMeter” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Load Testing & Performance Benchmarking (JMeter & k6), atualize para CoddyKit PRO. O curso de Load Testing & Performance Benchmarking (JMeter & k6) inclui 4 aulas no total.
O que vou aprender em “Configuração Distribuída do JMeter”?
Configure e execute testes do JMeter em vários mecanismos remotos para lidar com cargas massivas. Você pratica Load Testing & Performance Benchmarking (JMeter & k6) com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Load Testing & Performance Benchmarking (JMeter & k6)?
Nenhuma experiência prévia é necessária. Load Testing & Performance Benchmarking (JMeter & k6) no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Configuração Distribuída do JMeter”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Load Testing & Performance Benchmarking (JMeter & k6)?
Sim. Cada aula de Load Testing & Performance Benchmarking (JMeter & k6) inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que os Testes Distribuídos são Importantes
- Configuração Distribuída do JMeter
- k6 com Nuvem e Kubernetes
- Agregando e sincronizando resultados distribuídos