I was carrying out soak testing on my website with 200 requests in 1 ramp up second. I am using JMeter V2.11 . But the tool hung and the test stopped roughly after about 35 mins in 5 different attempts. Though there was nothing registered in the log files, I presume the listener "View Results Tree" is the culprit.
Tool: Jmeter
Version 2.11
Duration: 1 hour
JRE used 1.7
RAM 4 GB.
If so what can I do? Is there any alternative ? Even disabling/enabling the listener during the test doesnt work. Any suggestions would be greatly appreciated. Any recommendations for a tool which does soak testing is also welcome. Thanks in advance.
Disabling the listeners during the test execution will not be helpful.
since system RAM is only 4GB, my suggestion would be to run the test in Command line mode.
http://developer.amd.com/community/blog/2009/03/31/using-apache-jmeter-in-non-gui-mode/
hope this will help
Related
We are using Apache JMeter (latest version) for load tests of a high performance API. JMeter response time is too high in comparison to SoapUI (free version). SoapUI gets an average response time of 200 milliseconds while JMeter reports at least 1200 milliseconds for the same API, testing from the same machine.
This affects the calculated throughput in each application. On SoapUI I can get up to 850 tps for said API, no errors. On JMeter I'm getting 190 tps at most, no matter what.
Tests are running with 200 threads, for 120 seconds.
I have already tweaked jvm/jmeter heap mmemory, garbage collector, and so on to no avail. Nothing changes. Can anyone help with this? Thank you.
Edit: Added test setup sample images
JMeter Thread Group and Test Plan Overall Setup
SoapUI TestSuite and Overall Setup
Edit 2: test results
Jmeter test results 1105 ms
SoapUi test results 263 ms
I can only think of one possible reason: you're running JMeter in GUI mode and this is not something you should be doing as JMeter isn't capable of sending requests fast enough, JMeter's GUI mode is designed for tests development and debugging.
Your images don't tell the full story as JMeter test results are missing. It would be also beneficial to generate a HTML Reporting Dashboard and see the correlation between increasing number of virtual users and response time/throughput.
And last but not the least, JMeter can be executed in Distributed Mode and in SoapUI it's available only for LoadUI Pro
JMeter script (thread) hangs on pre-login step while replaying the script. It was working fine while script creation.
Able to execute perfectly fine by right clicking on thread and selecting validation option, scripts executes from pre-login to Logout without issues.
If we keep the threads on execution for hours with it only executes for like 3 iterations in 3 hours where response time comes out to be hardly 7-9 secs per steps in thread.
Please let us know what needs to be done cause it hangs and keeps on executing first step.
As per documentation validation mode assumes running test
with 1 thread
with 1 iteration
with 0 startup delay
without Timers
with forcing Throughput Controller to execute samplers with 100% probability
Your question doesn't contain enough information in order to help you to troubleshoot the issue, however here are some hints which will be useful in determining the root cause:
Inspect your Test Plan and look for deviations from the aforementioned behaviour (i.e. long-running timers or large delay configured in Thread Group(s))
Check jmeter.log file - most probably it contains some clues
Make sure you're following recommendations from 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure guide, in particular:
Increase JVM heap size allocated to JMeter
Make sure to run your test in command-line non-GUI mode
Make sure to disable all the listeners during the test run
If you tried all above and the problem still persists - take a thread dump and update your question with your test plan outline, jmeter.log file and the thread dump.
I know load tests should be run in non-GUI mode.
But when I run the tests with the following command:
jmeter -n -t server_load_test.jmx -l log_100u_5s_01.jtl
In non-GUI mode:
I get an average response time between 3 or 4 seconds which of course is not acceptable.
In GUI mode:
I get an average response time of 100ms.
The test is really simple, it is just an HTTP request (GET) with 100 users in 5 seconds.
I would not have said anything if it was the other way around.
Which one should I trust?
My question is more: what is going on and how do I find the problem?
Non-GUI mode consumes a way less resources that GUI mode so I would recommend looking not only into Average Response Time, but also keep in mind other important metrics, for example check delivered load in both scenarios, i.e:
Active Threads Over Time and Transactions per Second listeners output (both are available via JMeter Plugins project
Generate HTML Reporting Dashboard and compare the output for both scenarios
Use 3rd-party analysis solution like JAnalyser or BM.Sense
My expectation is that in GUI mode you have much slower ramp-up hence you can run into the situation when some threads already had already finished their work while others were not yet started. In non-GUI ramp-up is faster so you have more online users so the load delivered to your application under test is much higher.
Try increasing loop count and test duration to see how it goes.
I'm using Jmeter 2.13 and something interesting is happening for which I need some help. I did two test on website with settings
test 1
users: 500
ramp up time:60
result:smooth connections
test 2
users: 500
ramp up time:120
result: crashes java
All I know is the Apache java GUI crashes. I don't know how to troubleshoot what's causing the crash. I know there are some elements with GUI you can configure to observe Jmeter server health stats i.e threads, load etc.
Also, on the settings where it crashes, a single request is made every 0.24 seconds.
On test case 1 where it worked this equates to 0.12 seconds a single request is made.
If the calculations are correct, theoretically speaking, it shouldn't crash right? (because the difference in negligible)
The answer is simple: don't use GUI mode to run a JMeter test. Ever. Use GUI only for test development and debugging.
Running JMeter in non-GUI mode is fairly simple:
jmeter -n -t /path/to/your/testplan.jmx -l /path/to/resultsfile.jtl
Once test finished you can open resultsfile.jtl with your favourite listener and analyse test results.
For more JMeter-side performance tips and tricks see JMeter Performance and Tuning Tips guide.
I want to run a Load test on my Production server to verify that the server can handle 1 million requests per 10 seconds using JMeter. How to configure JMeter Thread group for 1 million request in 10 seconds? How many client I need to do this test?
Please share your valuable experience if you have experience doing this type of load test.
First, you should ensure you really need 1 million requests in 10 seconds (what kind of site are you testing ?).
Then if you want to use JMeter, ensure:
You use last version
You tune memory correctly
You will certainly have to use distributed testing if not using Cloud
Follow best practices
http://www.dzone.com/links/r/see_how_to_make_jmeter_run_thousands_of_threads_w.html (Disclaimer : I'm the writer of this)
http://jmeter.apache.org/usermanual/best-practices.html
You might try Constant Throughput Timer to make a kind of Barrier
Alternatively you can try "Delay thread until creation"
And finally try a Cloud solution to get to this load, see this french blog on all kind of issues you will face in all fields (not only load software):
http://blog.milamberspace.net/index.php/2012/07/14/rapport-de-tres-gros-test-de-charge-avec-la-solution-blazemeter-1161.html)
But I never tried up to this load, so I cannot tell if it will work and it is kind of unexplored field
you can accomplish this using Gatling and scaling out to several machines that would run the test in parallel. in the end Gatling can aggregate the results into 1 report.
Gatling documentation dosent provide much info for this :
http://gatling.io/docs/1.5.6/user_documentation/cookbooks/scaling_out.html
but you can check my blog post to see how this can be done (ive wrote a script for this purpose)
Blog - http://www.nimrodstech.com/gatling-cluster-load-testing/
Gist - https://gist.github.com/Nimrod007/5cfed34eeffedfd7ec76
Looks like you'd better look onto another, more suitable tool for such kind of scenario,
e.g. Tsung
Tsung homepage
Tsung # github
Scaling to 30K: Tsung
or at least Gatling instead:
Gatling homepage
Gatling: scaling out
Perhaps if you would like to use jmeter in any case you can look onto BlazeMeterLoad Testing Cloud solution.