{"id":22871596,"url":"https://github.com/qainsights/remote-distribution-load-testing-in-jmeter","last_synced_at":"2025-05-07T16:20:32.547Z","repository":{"id":94104341,"uuid":"342283362","full_name":"QAInsights/Remote-Distribution-Load-Testing-in-JMeter","owner":"QAInsights","description":"Remote Distributed Load Testing in JMeter Tips and Tricks","archived":false,"fork":false,"pushed_at":"2021-05-31T00:19:50.000Z","size":25,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T11:41:37.451Z","etag":null,"topics":["apache","certificate","firewall","jmeter","performance","performance-engineer","performance-testing","ssl","worker","worker-machines","worker-nodes"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=WSDMLAEksz4","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QAInsights.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-25T15:08:26.000Z","updated_at":"2023-05-12T17:02:49.000Z","dependencies_parsed_at":"2023-03-03T15:30:47.519Z","dependency_job_id":null,"html_url":"https://github.com/QAInsights/Remote-Distribution-Load-Testing-in-JMeter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FRemote-Distribution-Load-Testing-in-JMeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FRemote-Distribution-Load-Testing-in-JMeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FRemote-Distribution-Load-Testing-in-JMeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QAInsights%2FRemote-Distribution-Load-Testing-in-JMeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QAInsights","download_url":"https://codeload.github.com/QAInsights/Remote-Distribution-Load-Testing-in-JMeter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252913043,"owners_count":21824091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","certificate","firewall","jmeter","performance","performance-engineer","performance-testing","ssl","worker","worker-machines","worker-nodes"],"created_at":"2024-12-13T13:20:14.636Z","updated_at":"2025-05-07T16:20:32.525Z","avatar_url":"https://github.com/QAInsights.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remote Distribution Load Testing in JMeter\n\nFollowing are the troubleshooting steps to implement remote distribution load testing in JMeter.\n\n* Same version of JMeter in master and worker\n* Same version of Java in master and worker\n* Master should be able to ping worker, vice-versa\n* Master and Worker machines must be on the same sub-network. Here is the [calculator to check](https://www.meridianoutpost.com/resources/etools/network/two-ips-on-same-network.php).\n* Firewall should be disabled\n* Anti-virus might need to be turned off\n* Delete the unnessary network interfaces in Windows to avoid the network related issues\n* By default, JMeter uses SSL in RMI.\n* SSL for RMI certificate has the validity of 7 days by default, make sure you generate the certificate once in 7 days. The number of days can be changed in the `create-rmi-keystore` file: `keytool -genkey -keyalg RSA -alias rmi -keystore rmi_keystore.jks -storepass changeit -validity 7 -keysize 2048 %*`\n* Place the generated certificate in all the worker nodes\n* If the test plan uses, plugins, make sure it is available in the worker nodes.\n* Troubleshoot the remote testing by disable SSL in `jmeter.properties`\n\n## Windows Troubleshooting\n\nMake sure you enabled only below connections in your network.\n\n![image](https://user-images.githubusercontent.com/2826376/116022784-d9e4ab80-a618-11eb-8654-422820dd2afd.png)\n\n![image](https://user-images.githubusercontent.com/2826376/116022819-ec5ee500-a618-11eb-9bcd-b63d4ee0c526.png)\n\n## Commands\n\n### jmeter.properties in Master\n\n```\nremote_hosts=\u003cWorkerIP\u003e\nserver.rmi.ssl.disable=true\nserver.rmi.localport=4000\n```\n  \n### Starting Worker Machine\n\n`./jmeter-server -Djava.rmi.server.hostname=\u003cWorker_IP\u003e`\n\n**Sample Output**\n\n```\nUsing local port: 4000\nCreated remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.0.99:4000](local),objID:[59f63471:179a76f79c7:-7fff, -5372372549273377610]]]\n```\n\n### Starting Tests Master Machine \n\n### jmeter.properties/user.properties in Worker\n\n```\nserver.rmi.ssl.disable=true\nserver.rmi.localport=4000\n```\n\n`cd into JMeter folder`\n\n`./jmeter.sh -Djava.rmi.server.hostname=\u003cMaster_IP\u003e -n -t examples/CSVSample.jmx -l Run1.log -R\u003cWorker_IP\u003e`\n\n**Sample Output in Master**\n\n```\nCreating summariser \u003csummary\u003e\nCreated the tree successfully using examples/CSVSample.jmx\nConfiguring remote engine: 192.168.0.99\nUsing local port: 4000\nStarting distributed test with remote engines: [192.168.0.99] @ Wed May 26 02:50:45 EDT 2021 (1622011845669)\nRemote engines have been started:[192.168.0.99]\nWaiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445\nsummary =     12 in 00:00:04 =    3.3/s Avg:   234 Min:   123 Max:   326 Err:     0 (0.00%)\nTidying up remote @ Wed May 26 02:50:51 EDT 2021 (1622011851137)\n```\n\n**Sample Output in Worker**\n\n```\nStarting the test on host 192.168.0.99 @ Wed May 26 02:50:47 EDT 2021 (1622011847465)\nFinished the test on host 192.168.0.99 @ Wed May 26 02:50:51 EDT 2021 (1622011851480)\n```\n\n## Disabling Firewall in CentOS\n\nTo check the status:\n\n`sudo firewall-cmd --state`\n\nTo stop the firewall:\n\n`sudo systemctl stop firewalld`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fremote-distribution-load-testing-in-jmeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqainsights%2Fremote-distribution-load-testing-in-jmeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqainsights%2Fremote-distribution-load-testing-in-jmeter/lists"}