JMeter distributed testing - how to get aggregated report? - amazon-ec2

I have three slaves (jmeter-servers) running on EC2 instances, and in one case – (1) JMeter GUI on a local laptop, on another – same test plan (2) running from a command line on yet another EC2 instance.
In case of GUI I can see all the aggregated numbers for Throughput, 99%, etc. in – well, GUI. I'm creating a jtl file with Aggregate Report listener.
From watching Datadog charts monitoring the application server parameters (CPU usage, memory, etc.) I see that in case of a command line and everything on EC2 load is more than twice higher than when my local laptop is communicating with the jmeter-servers, meaning probably that the network becomes a bottleneck. So I want to run everything on EC2.
But then – how do I get access to the same aggregated numbers when I'm running from the command line when all four machines are EC2 instances? The huge jtl file contains records for each transaction, not the aggregated one line of the entire run result.
On an attempt to download that jtl from EC2 and open it in GUI on a local laptop it generates some error instead of showing aggregated data.
Am I using a wrong listener to get to the summary data? (Tried Summary Report – it creates even larger jtl file, not the one line I'm looking for.)

Problem in this case is not running scripts via JMeter GUI. Instead it is related to network.
I had a similar distributed setup in EC2-environment and I successfully executed heavy load tests in GUI mode. In my case, all my JMeter (master/slaves) were running on EC2 instances (windows environment). So, I will recommend you to setup your JMeter (Master) on EC2 and run scripts via GUI mode.
If you still want to run in command line mode then you simply need to pass command to create jtl file while the script runs on command line. Later on you can use this JTL to generate any JMeter report as per requirement. For more details check..
Jmeter - Run .jmx file through command line and get the summary report in a excel
jmeter -n -t /path/to/your/test.jmx -l /path/to/results/file.jtl
Please refer to Dmitri answer in following question to reduce JTL size.
How can we control size of JTL file while running test from Non GUI Mode

Related

JMeter SummaryReport AggregateReport is recording the results from View Results in Table data

I have 3 listeners setup to write to a file SummaryReport, AggregateReport, and ViewResultsInTable. I am on a MacBook os Big Sur 11.5.2 and JMeter 5.4.1. Weirdly enough, I get the ViewResultsInTable data in both the SummaryReport.csv and AggregateReport.csv. While I am writing the Test Plan, it is easy to recover because the UI Reports are correct. However, when I want to move to the real test and run it from the command line, I won't be able to recover.
Is there any way to clear that up?
Saving and reading the test results are generic in all Listeners. Hence you will get identical test results in all the files.
If you didn't click "Configure" button and changed the metrics to store you will get the same files no matter which listener(s) you use, you just ended up with 3 identical files (plus the .jtl file if you're running your test in command-line non-GUI mode)
In case of Summary Report and Aggregate Report listeners all the metrics you're seeing are calculated from the individual Sample Result entries so if you open the .jtl results file after your non-GUI test execution finishes you will see the calculated aggregate metrics.
In general you should be using Listeners only for tests development and, it doesn't make a lot of sense to add Listeners for the test execution, they don't add any value, just consume valuable resources. So disable/remove all the listeners, you should be able to get all you need from the aforementioned .jtl results file.
If you want to see the output of Aggregate Report and/or Summary Report listeners without opening JMeter GUI - you can generate them from the .jtl results file using JMeter Plugins Command Line Tool

Performance Testing of OBIEE application?

Following parameters should be set for OBIEE Presentation Server only during load testing.
OBIPS\instanceconfig.xml
save and exit file Restart OBIEE processes using OBIEE EM console.
<ServerInstance>
[...]
<Cursors>
<NewCursorWaitSeconds>36000</NewCursorWaitSeconds>
<OldCursorWaitSeconds>36000</OldCursorWaitSeconds>
</Cursors>
[...]
</ServerInstance>
You do know that this represents a value of 10 hours, correct? You are willing to lock resources for that length of time? This is counterintuitive for optimal application performance as you would seek to recover resources as fast as possible to support more sessions versus locking a resource for an extended period of time.
I refer to the following performance "compass rose" as a guiding item (independent of tool)
If you need to amend the file on a remote server you can do this either via OS Process Sampler or via SSH Command Sampler. The first one is a part of JMeter installation, the second one you can install using JMeter Plugins Manager
See How to Run External Commands and Programs Locally and Remotely from JMeter for more information, example configuration and sample commands.

In Distributed testing results folders are created per user or thread

I am running into the following strange issue.
Issue In Distributed testing results folders are created per user or thread.
Test has been executed from master machine with One Slave machine.
Both machines have same version of java8.
Actual Results 4 Results has been created. 2 of folders has Aggregate Report and ViewTree results files. 2 of folders has just ViewTable Results files.
Expected Results Supposed to be created just One folder with Aggregate Report,View Tree and View Table results files.
Any one has encounter this issue?I am not sure what went wrong,please advise.
Below are the screenshots of Master and Slave machine settings.
Below screenshot shows the configuration of Master Machine
Below screenshot shows the configuration of Slave Machine
Thanks,
Raj
Simply don't use JMeter Listeners for anything but tests development and debugging. When it comes to running your test make sure you have any listeners deleted from the test plan (or at least disabled) as they are don't add any value, the only thing they do is consuming your JMeter load generators resources.
Just run your test in command-line non-GUI mode like:
jmeter -n -t test.jmx -R slave1, slave2, slave3 -l result.jtl
Once your test will be finished you will either be able to open this result.jtl file with the listener of your choice or generate HTML Reporting Dashboard out of it.
See Remote Testing User Manual chapter for more details.

JMeter getting hanging in GUI mode

I'm having problem with jmeter while running the test plan. Suddenly my Jmeter starts hanging and appears as a black screen in GUI mode. I was running recording controller with multiple thread groups (4 thread groups). Each thread group with 25 users.
I'm using Jmeter 2.11 (current version). I'm not sure whether it is due to overload or some other reason.
Regards
Nayasoft
Don't ever use GUI mode for load test. Run JMeter in command-line non-GUI mode as follows
jmeter -n -t /path/to/your/testplan.jmx -l /path/to/testresults.jtl
Also if you have any listeners in your test plan - disable or remove them as well. After test execution you should be able to open testresults.jtl file with the listener of your choice and analyze results, but don't use them during load test.
Make sure that you following Performance Checklist and other recommendations from JMeter Performance and Tuning Tips guide
You have run out of JMeter/JVM memory. You can increase in with environment variables, command line options when you start jmeter, or change some values in jmeter.properties
This page describes how to start jmeter with more memory.
http://jmeter.apache.org/usermanual/get-started.html
One easy way is to set the environment variable before running jmeter:
set JVM_ARGS="-Xms1024m -Xmx1024m"
This will allow your tests to run longer before running out of memory, but if you store results in memory (for instance using View Results Tree listener), you will still run out eventually. For long running tests, or accurate measurement of short running tests, it is better to run in non-GUI mode, and save results to file, instead of memory.
Graphs can still be generated after the run from the saved results using jmeter utilities.

Fetch response times in JMeter running remotely

Ok so I set up my JMeter to run remotely using one slave computer (possibly more to come), and it's working out for the most part EXCEPT that I can't fetch the response time over time-graphs function using the JMeter plugin. I'm still able to use the "PerfMon Metrics" tool to get the CPU/Memory values from the slave computer, so I don't understand how I'm not able to get the response time results.
Does anyone have any experience using that function?
I would check the master- slave configuration: be sure that
the same Jmeter release is used
same directory tree structure is used
Jmeter-plugins are installed on both systems
...
If you use a standard "Summary report" listener, and save data to a file in the master, then you can reload and analyse the data off line with any listener.
HTH

Resources