I setup a distributed load testing environment using JMeter in unbundu machines.
->Master: the system running JMeter GUI, control each slave.
->Slave: the system running jmeter-server, receive command from the master and send a request to server under test.
->Target: the web server under test, get request from slaves.
Basic requirements are done:
-The firewalls on the systems are turned off
-All the planned master and Slaves are in the same subnet
-The JMeter server can access the target.
-Same version of JMeter on all the systems (version 2.3.4 ).
I did the following:
1) Tried pinging form master to slave and vice versa through ubundu terminal. its happening ..
2) Added the following to client (master) jmeter.properties:
# Remote hosts and RMI configuration
remote_hosts=192.168.0.139:1099
# RMI port to be used by the server (must start rmiregistry with same port)
server_port=1099
3) Added the following to server (Slave) jmeter.properties:
# On the server(s)
set server_port=1234
start rmiregistry with port 1234
4) Now started the Jmeter engine on Master.
a) Started Jmeter on master machine (GUI)
b) Created test plan--> (added tread group , samplers and required listners)
c) Now start the Slave(s) from the GUI
-click Run at the top
-select Remote start
-select the IP address
But error popup came as :-
"Connection refused to host : 192.168.0.139; nested exception is : java.net.ConnectionException : Connection Refused"
what may be the reason for not connecting with the remote salve (say here : 192.168.0.139)
DO i need to do any more configuration in jmeter.properties file or in any other files (in both slave and master)?
I think you forgot to start the slave in "slave mode".
In command line mode, go to jmeter/bin directory and execute jmeter-server.bat
That will start the slave process and will keeps it listening for commands.
Then you can go forward, loading amd launching the script.
have a look at:
http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf
Also be aware that:
- the two systems MUST run the same Jmeter version
- the two systems MUST be on the same subnetwork
- the two systems SHOULD be as similar as possible: same OS, same directory tree, etc
- "remote_hosts" only require the address. The port is specified by "server_port" parameter.
Related
One of our app team has completed WAS server base installation. After the installation is complete he requires two things.
WebSphere admins to be able to access the WebSphere admin console via a URL
Users to be able to access the WAS Portal
To connect to the URL’s, they first connect to VPN and use the browser from base machine directly.By default we are seeing these urls.
Admin URL: https://hostnane.ibm.com:9043/ibm/console/logon.jsp
User URL https://hostname.ibm.com ( this one is hypothetical for now)
Application team wants to convert ibm.com to mycompany.com.
Can someone advise how can we change ?
Please do the next step by step:
1. How to change hostname on WebSphere Application Server
If you are moving your IBM WebSphere Application Server configuration or migrating your environment, you might have to change host names or migrate profiles from one machine to another.
For example, the old hostname is example.com, we want to change to was-tpx04.hq.com
If the host name of a server or its ports is incorrect, then you might experience problems such as errors when you attempt to stop a server.
First, correct the host name for an application server using the wsadmin.sh scripting tool and command line tools.
was-tpx04:/u01/IBM/WebSphere/AppServer/bin # ./wsadmin.sh -conntype NONE -lang jython
WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.
WASX7031I: For help, enter: "print Help.help()"
wsadmin>AdminConfig.list('ServerIndex')
'(cells/exampleNode01Cell/nodes/exampleNode01|serverindex.xml#ServerIndex_1)'
wsadmin>AdminConfig.modify('(cells/exampleNode01Cell/nodes/exampleNode01|serverindex.xml#ServerIndex_1)', "[[hostName was-tpx04.hq.com]]")
''
wsadmin>AdminConfig.show('(cells/exampleNode01Cell/nodes/exampleNode01|serverindex.xml#ServerIndex_1)', 'hostName')
'[hostName was-tpx04.hq.com]'
wsadmin>AdminConfig.save()
''
wsadmin>exit
was-tpx04:/u01/IBM/WebSphere/AppServer/bin # ./stopServer.sh server1 -profileName AppSrv01
ADMU0116I: Tool information is being logged in file
/u01/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/stopServer.log
ADMU0128I: Starting tool with the AppSrv01 profile
ADMU3100I: Reading configuration for server: server1
ADMU3201I: Server stop request issued. Waiting for stop status.
ADMU4000I: Server server1 stop completed.
was-tpx04:/u01/IBM/WebSphere/AppServer/bin # ./startServer.sh server1 -profileName AppSrv01
ADMU0116I: Tool information is being logged in file
/u01/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/startServer.log
ADMU0128I: Starting tool with the AppSrv01 profile
ADMU3100I: Reading configuration for server: server1
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server server1 open for e-business; process id is 52604
was-tpx04:/u01/IBM/WebSphere/AppServer/bin #
Now, the hostname looks as follows:
2. Second, you need to correct the host names for the ports that an
application server opens.
For the application server, select Servers > Application servers > application server > Ports.
Select a port whose host name needs changing.
Change the host name in the Host field; Click OK. Change the host name is was-tpx04.hq.com
Continue selecting ports and changing host names until you correct each of the host names for the server ports.
Save the changes to the master configuration.
Restart the server.
while running J-Meter distributed test on slave machine with single slave user, i am getting below ssl certificate error after selecting 'Remote Start' with slave IP address under 'Run' Menu in master machine.My master and slave machine have Jmeter 5.2 version, connected with same network .
i did below setting before running remote start.
Slave Machine:- server.rmi.ssl.disable =true (commented this property ) and run J-Meter -server Service bat file in slave machine
Master Machine: mention slave ip address in' remote_hosts' for jmeter.properties and save it and run remote start with slave IP address from master machine
Could you please assist me for the same ?
Thanks
Amit G
The error means that JMeter master cannot securely connect to the slave, most probably you made a typo or did something wrong, like commented the property while it needs to be uncommented
If you need secure communication between master and slave(s) follow steps from Setting up SSL chapter of the Remote Testing chapter of the JMeter User Manual
If you don't need the secure communication add the next line to user.properties file (lives in "bin" folder of your JMeter installation)
server.rmi.ssl.disable=true
Make sure that the property doesn't have # at the beginning and there are no whitespaces at the beginning/end of the line
Make sure to restart JMeter to pick up the property
This has to be done on JMeter master and all the slaves
I have a Master machine(192.xxx.x.xx) and Two Slave Machine(192.xxx.x.xx,192.xxx.x.xx).
In the Master Machine jmeter properties file , i added the two salve machine IP.
I run the server.bat file in the Slave Machine respectively.
But one of my slave machine showed an error of Port 1099 Busy.So i changed the port of that particular Salve Machine to 1098 and rerun the server.bat file.
Now when i select Remote Start ALL command in the Master Machine,the Slave Machine in which the port was changed does not execute the Test. But the other slave machine whose port is 1099 successfully executed the test.
Can anybody tell me the exact issue with the other slave machine.
You need to follow changing RMI port steps:
JMeter uses the standard RMI port 1099. It is possible to change this. For this to work successfully, all the following need to agree:
On the server, start rmiregistry using the new port number
On the server, start JMeter with the property server_port defined
On the client, update the remote_hosts property to include the new remote host:port settings
Since JMeter 2.1.1, the jmeter-server scripts provide support for changing the port. For example, assume you want to use port 1664 (perhaps 1099 is already used).
On Windows (in a DOS box)
C:\JMETER> SET SERVER_PORT=1664
C:\JMETER> JMETER-SERVER [other options]
On Unix:
$ SERVER_PORT=1664 jmeter-server [other options]
[N.B. use upper case for the environment variable]
In both cases, the script starts rmiregistry on the specified port, and then starts JMeter in server mode, having defined the "server_port" property.
The chosen port will be logged in the server jmeter.log file (rmiregistry does not create a log file).
I am trying to run JMeter Webdriver samplers in IE on a remote machine. I have changed remote_hosts to the IP address of the remote machine. JMeter server on the remote machine is also started. When I run the tests from the JMeter GUI on the local machine (Run->Remote Start menu) I can see the command line window in remote machine showing
"Started the test..."
and immediately
"Finished the test..."
So the test runs but nothing actually happens.
I must be missing some configuration.
Can someone please help?
You need to install the same Selenium/WebDriver Support plugin to the remote slave(s). This can be done either by copying the whole JMeter installation to the slave host(s) or using JMeter Plugins Manager on each slave.
You need to download Internet Explorer Driver binary and put it to the same location as on the master host.
In case of any problems check jmeter-server.log file on remote slave - normally it should contain the root cause (or clue on what is wrong)
I have two Windows Server 2012 R2 machines located in one of the client's datacenters. Both servers are domain-joined. They both have RabbitMQ 3.6.0. installed on them. RabbitMQ is running as Windows Service on both machines. I've tried to cluster these two machines for a long time now without success. I always get the following error when I try to cluster them.
One the first machine nodeA I run the command 'rabbitmqctl join_cluster rabbit#nodeB'. This is what I get:
Clustering node 'rabbit#nodeA' with 'rabbit#nodeB' ...
Error: unable to connect to nodes ['rabbit#nodeB']: nodedown
`DIAGNOSTICS`
===========
attempted to contact: ['rabbit#nodeB']
rabbit#nodeB:
* connected to epmd (port 4369) on nodeB
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?
* suggestion: is the Erlang distribution using TLS?
current node details:
- node name: 'rabbitmq-cli-3892#nodeA'
- home dir: C:\Users\mydirectory
- cookie hash: l+SSu57+cRyAQ03AJdwAbQ==
I've tried this setup with Azure Virtual Machines within Azure Virtual Network and I succeeded to cluster the two VM's, however it seems I cannot connect these two (customer's machines) together.
This is what I have done and ensured:
There isn't any firewall blocking connections
Added host names to hosts file located on C:\Windows\system32\drivers\etc
Tried to refer to host names as FQDN without adding anything to hosts file
Tried to refer to host names with CAPITAL letters and without
Copied the same exact .erlang.cookie to C:\Windows and C:\Users\mydirectory on both machines.
I've read, understood and applied RabbitMQ Clustering Guide https://www.rabbitmq.com/clustering.html
Stopped, restarted, reinstalled RabbitMQ on both machines.
It seems I can't get it to work. On Azure machines, which were not domain-joined clustering worked beautifully. I am really running out of options... Any help?
i had the same problem you need to install rabbitmq as a admin. uninstall then reinstall as admin and it should work fine
Try to connect to each of RabbitMQ nodes via remote shell and check if value of cookie is the same (cookie can be set in 3 different ways: .erlang.cookie is one of them).
erl -remsh 'rabbitmq-cli-3892#nodeA' -name 'test#nodeA'
erlang:get_cookie().