Konfiguracja rozproszona JMeter
Skonfiguruj i uruchamiaj testy JMeter na wielu zdalnych silnikach, aby generować bardzo duże obciążenie.
Konfiguracja rozproszona JMeter to bezpłatna lekcja Load Testing & Performance Benchmarking (JMeter & k6) na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Load Testing & Performance Benchmarking (JMeter & k6), a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Load Testing & Performance Benchmarking (JMeter & k6) zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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.
Często zadawane pytania
Czy lekcja „Konfiguracja rozproszona JMeter” jest bezpłatna?
Tak — pełny tekst „Konfiguracja rozproszona JMeter” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Load Testing & Performance Benchmarking (JMeter & k6), przejdź na CoddyKit PRO. Kurs Load Testing & Performance Benchmarking (JMeter & k6) zawiera 4 lekcji w sumie.
Co nauczysz się w „Konfiguracja rozproszona JMeter”?
Skonfiguruj i uruchamiaj testy JMeter na wielu zdalnych silnikach, aby generować bardzo duże obciążenie. Ćwiczysz Load Testing & Performance Benchmarking (JMeter & k6) z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Load Testing & Performance Benchmarking (JMeter & k6)?
Nie wymagamy żadnego doświadczenia. Load Testing & Performance Benchmarking (JMeter & k6) w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Konfiguracja rozproszona JMeter”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Load Testing & Performance Benchmarking (JMeter & k6)?
Tak. Każda lekcja Load Testing & Performance Benchmarking (JMeter & k6) zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego testy rozproszone mają znaczenie
- Konfiguracja rozproszona JMeter
- k6 z Cloud i Kubernetes
- Agregowanie i synchronizowanie wyników rozproszonych