Get an jmeter Error Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445 - jmeter

I'm using JMeter version 5.11. My test plan has one thread group.
I want to run the load test with 100 thread groups, Always gives following error any other suggestions to overcome this?
Run following command in jmeter bin folder
sh jmeter -n -t "path to .jmx file" -l "path to output csv file" -e -o "path to output folder"
Then gives
Created the tree successfully for jmx
Starting the test # Mon ...
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Note - Already added HTTP Request Defaults and set timeout periods(milliseconds) to Connect and response timeouts as 10000

Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump
This is a normal message when test is in progress
So you just need to wait until test is over

Related

JMeter - The JVM should have exited but did not

I have a script which does the following:
Script executes fine in GUI mode:
jmeter -q C:/Users/503289283/Downloads/eml_base.properties -t Service_Names.jmx
When executed in Non-GUI mode i.e.
jmeter -q C:/Users/503289283/Downloads/eml_base.properties -n -t Service_Names.jmx
We receive the below message:
Have added an entry in the log4j2.xml file. Restarted JMeter.
Executed the script again in Non-GUI mode. Still see the same message. Didn't find anything suspicious in the log file.
Not sure where is the issue. Please help.
Regards,
Ajith
Script executes fine in GUI mode:
jmeter -q C:/Users/503289283/Downloads/eml_base.properties -t Service_Names.jmx
it doesn't mean that the "script executes fine", it means that you're just opening Service_Names.jmx test plan in JMeter GUI, the script is being "executed" when you click this button:
Or press CTRL+R
Your test cannot be finished successfully (in fact there are no successful Sample Results) because SSH Command sampler is still waiting for the response from the SSH server.
I don't know what eml status command does and how does the output look like,try running it via new instance of Bash (or whatever is your shell) interpreter as:
/bin/bash -c "eml status"
If the command is interactive, i.e. the output never ends until you press the button, you will need to reconsider your approach.
More information: How to Run External Commands and Programs Locally and Remotely from JMeter

JMeter - Reading a Custom Property file in Non-GUI mode

I have a custom property file, which is read via
jmeter -q C:/Users/503289283/Downloads/eml_base.properties -t Service_Names.jmx
Same thing when executed in Non-GUI mode i.e.
jmeter -q C:/Users/503289283/Downloads/eml_base.properties -n -t Service_Names.jmx
Throws an undesirable message at the end of run
Script is running for a longer duration than it should. Output received is perfect.
Solving this could reduce the Test duration (Non-GUI mode).
Thanks for your support.
Regards,
Ajith
The "undesired" message you're getting is from jsch library which is reading some stream hence JMeter cannot gracefully terminate its threads because SSH connection is open.
So you need to take a look at what is being done on SSH/SFTP level.
I also fail to see any results in the output which means that no samplers have been successfully executed at all, check out jmeter.log file for any suspicious entries. You may also want to increase JMeter logging verbosity for the jsch library by adding the next line to log4j2.xml file:
<Logger name="com.jcraft.jsch" level="debug" />

How to handle JMeter Master slave issue

I am using below shell script to execute JMeter from master machine and post execution of Jmeter i am triggering JMeterPluginsCMD.sh to generate jtl to csv file
for filepath in /tmp/scripts/*.jmx; do
filename=$(echo "$filepath" | sed -r "s/.+\/(.+)\..+/\1/")
echo "Running testplan ${filepath}"
resultpath="/tmp/results/testresult.jtl"
logpath="/tmp/results/log/testlog.log"
jmeter -n -t "$filepath" -l "$resultpath" -R"$SLAVE_IP_ADDRESSES" -
Jserver.rmi.ssl.disable=true -j "$logpath"
done
sleep 600
JMeterPluginsCMD.sh --generate-csv "/tmp/results/test.csv" --input-jtl
"/tmp/results/testresult.jtl" --plugin-type AggregateReport
sleep 600
Above code works fine with limited user load, but under high load when master does not receive below acknowledgment from slave.
021-05-18 06:37:02,457 INFO o.a.j.JMeter: Finished remote host: 10.1.1.1
It does not trigger JMeterPluginsCMD.sh.
What are the possible reasons of not receiving this acknowledgment. Is there any way to by pass the communication issue(JMeter Master->slave) and execute
JMeterPluginsCMD.sh with out any fail
If you "by pass the communication issue(JMeter Master->slave)" you won't get any results therefore it will be no sense in running your "JMeterPluginsCMD.sh".
So I would rather suggest
looking into the jmeter.log file on the slave machine and perhaps on the master machine as well, there is a chance you will be able to figure out what's wrong from the log
ensure that both have enough headroom to operate in terms of CPU, RAM, Network, Disk, etc. see 20 Command Line Tools to Monitor Linux Performance or just go for JMeter PerfMon Plugin
make sure to follow JMeter Best Practices
If your current slave machine is not powerful enough in order to conduct the "high load" you might need to add another slave and divide your "high load" by half.

How do I prevent JMeter from exiting upon successful execution of the test?

I am running JMeter version 3.3 in non-GUI mode and I do not want the process to exit upon successful execution of the test.
I have tried running following command:
$ ./bin/jmeter -n -t scenarios/WebTestPlan.jmx -LDEBUG -Jjmeterengine.force.system.exit=false
But it doesn't do the trick. How do I achieve desired behavior?
If basing your approach on time is acceptable and you don't need JMeter report to be generated on Heroku, add a tearDown Thread Group that contains an infinite sleep using Timer.
If you need report, then do a sleep in a shell

JMeter load test thread dump

I am using JMeter for load testing and some of my threads just hang. I want to do a thread dump but none of the following work from my linux machine
First get JMeter process id using
jps -l
Then did
sudo -u <username> jstack <pid>
and get the following msg
15141: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
even
kill -3 15141
comes up with nothing
After lot of googling and trial and error found the solution
To take thread dumps, start JMeter using command line.
Open terminal (A)
$ cd /media/9260C06E60C05A9D/Downloads/jakarta-jmeter-2.4/bin
$ ./jmeter > temp
In another terminal (B)
Get the process id of JMeter
$ jps -l
$ kill -QUIT 21735
Now check temp file for thread dump.
In order to use jstack make sure the user and group user are the same as the user running jstack

Resources