jmeter with BI4 .2 SP6 - jmeter

I have recorded script through Blaze meter and tried executing thru jmeter after adding com.sun.faces and bttoken. I have tried adding sEntry but unfortunately I didn't find the key.
Issue: It is not performing refresh report activity because I was monitoring in the backed sessions.

Looking into BI4 Web Intelligence Performance Test with JMeter article it should be strEntry and the relevant Regular Expression Extractor configuration would be something like
Actually you can use another approach to recording JMeter tests which can export recorded scripts in "SmartJMX" mode with automatic detection and correlation of the dynamic data, it might help you to come up with the properly correlated version of the load test with the minimal efforts. Check out How to Cut Your JMeter Scripting Time by 80% article for more details.
If you need further help on manual correlation consider including previous sampler response and the next request details into your question

Related

Is there any way No Correlation need for JMeter Script?

Is there an script recorder for JMeter (jmx) in which No Correlation is NOT needed. Just like "TruClient" Protocol in LoadRunner.
The script created with TruClient does not require any Correlation.
Thanks
There are few options available.
Please check
JCorrelate
video demo
Blazemeter Auto correlation Plugin
Detailed article
Naveen has explained the process in this video
Ubik auto correlation plugin for
TruClient is not a "protocol", LoadRunner just launches a real browser (a headless one) and controls it.
JMeter equivalent would be WebDriver Sampler, if you're looking for recording solution for Selenium the options are in:
Selenium IDE
JMeter Chrome Extension
However be informed that real browsers are quite resource intensive, for example Firefox 95 needs a CPU core and 2 GB of RAM per instance so for 100 users you will need 101 CPUs and 200 GB of RAM which is kind of expensive.
Moreover:
As per WebDriver Sampler introduction
Note: It is NOT the intention of this project to replace the HTTP Samplers included in JMeter. Rather it is meant to compliment them by measuring the end user load time.
As per Selenium documentation
Performance testing using Selenium and WebDriver is generally not advised. Not because it is incapable, but because it is not optimised for the job and you are unlikely to get good results.
So I would recommend keeping your test on HTTP protocol level without browsers involved, if you have problems with implementing correlation - take a look at BlazeMeter Test Recorder capable of exporting recorded scripts in "SmartJMX" format with automatic detection and correlation of dynamic parameters.

How do I perform a complete Load Test process with JMeter?

I am new to using JMeter and have developed a basic test plan with HTTP Sampler and a few listeners. Please run me through the entire process of how I can start after opening JMeter ?
There's no right answer for this, it depends what you're wanting to achieve. I'd suggest starting with the best practices: http://jmeter.apache.org/usermanual/best-practices.html
And also look at building a web test plan: http://jmeter.apache.org/usermanual/build-web-test-plan.html
I would look at the Graphs Generator listener - https://jmeter-plugins.org/wiki/GraphsGeneratorListener/ - use these graphs to make sure you're making the number of transactions that you would expect in your tests.
Basically - the documentation is your friend. I took time to read what each controller, listener and sampler was doing and decided how to implement these myself. There was some trial and error. JMeter is an easy tool to pick up and use but there's a LOT of depth to it.
In addition to Ali1874 answer, I would suggest looking into how to run JMeter tests using command line. You can find more information at http://jmeter.apache.org/usermanual/get-started.html#non_gui. With regards to reporting JMeter is able to produce nice HTML reports when using -e -o options http://jmeter.apache.org/usermanual/generating-dashboard.html#report_after_load_test.
Also, with regards to Jmeter test plans, in my previous company we used to parameterize number of threads required, servers and other elements. In general structure looked like the one at the example test plan.
We had different user defined variables elements for different environments for faster test tuning. Also, we used bzm – Weighted switch controller (https://github.com/Blazemeter/jmeter-bzm-plugins) to distribute load among endpoints by including HTTP requests from Test Fragment element so that we would not have to duplicate requests allowing to manage them more easily. You can check out full plan at here (https://github.com/gretard/testing/blob/master/00-jmeter/results/samplePlan.jmx). Please bear in mind that test plan uses bzm – Weighted switch controller plugin and jpgc - Standard Set plugin which you can install by using Plugins manager (https://jmeter-plugins.org/wiki/PluginsManager/).
Hope this will help.

Jmeter log replay taking more time

Jmeter log replay taking more time .. can we able to use access log sampler in multiple thread? if so how to share the log files to all the threads?
Please help.
You can convert your access log into a CSV file with a script and use CSV Data Set Config in conjunction with the HTTP Request samplers - this way you will get it replayed with the multiple threads. See Stop Making Assumptions! Learn How to Replay Your Production Traffic With JMeter article to get the idea in more details and see the example implementation.
However be aware that this way most likely you won't be able to replay complex end-to-end scenarios, only simple HTTP GET requests which are not authenticated can be replayed this way. For quick-and-dirty test plan it might be enough, however it is much better to come up with modular test plan, reusable components, full control of workload, etc. so I would rather recommend building a web test plan from scratch.

JSR223 Preprocess performance issue Jmeter

I have an scenario to measure login function performance for that i have used JSR223 preprocessor to encrypt my password using Javascript its around 2000 Line of code it works fine it encrypts the password successfully, i can able to login using my script it works fine in small number of users.
If we go for an large volume of users script finish first 3 steps very fast once it reaches JSR223 preprocessor thread it takes long time to process it makes delay in performance test.
Any suggestion to fine tune this process ?
Already i have configured the cache size as 1024 even though it takes long time to execute.
For 600 Users it takes 1hr +++ time to finish the process with 1 Master and 3 slaves environment.
Javascript should be avoided for Load Testing.
The best option is to use:
Groovy
Check Cache Compilation Key
Enter a unique key per Test element
This will make JMeter compile the script leading to most optimal performances, read this for more informations:
http://www.ubik-ingenierie.com/blog/jmeter_performance_tuning_tips/
If you're looking to learn jmeter correctly, this book will help you.
JavaScript is not the best language to use with JSR223 PreProcessor, it's being run via Rhino or Nashorn engine and your expression is being evaluated all the time from scratch using not very performant way.
According to JMeter Best Practices it is recommended to use Groovy scripting engine. Assuming good configuration you will be able to get groovy scripts compiled into native JVM bytecode hence performance will be much higher than for JavaScript.
In order to get Groovy support in Jmeter you just need to
Download groovy-all.jar
Drop the file to "lib" folder of your JMeter installation
Restart JMeter
See Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! guide for more detailed explanation and scripting best practices.

Endurance testing using Jmeter

I am new to Jmeter and trying to understand what all can be achieved using Jmeter. I want to perform endurance or soak testing of a application using Jmeter, i.e. I want to run a particular script for a particluar number of users for a period of 3 hours.
What all options are available to me and what is the best availablelistener to monitor the result?
Please help. Kindly add if I am missing anything that I should know before starting with soak testing?
For setting up the numbers of users and runtime of the test you use a Thread Group. Setting the runtime is done by checking the Scheduler check-box and specifying Duration.
Of the original listeners in JMeter I have found myself most oftenly just using the plain Summary Report. But JMeter Plugins gives additional listeners which may be better, it depends on what you want to measure. The JMeter Plugins also gives additional thread groups, where you can specify e.g. an increasing load over time.
Use a Thread Group to set up your number of users and the duration of your test (using the scheduler of the Thread Group).
Then add all the samplers and logic controllers you need to perform your testing.
Next, add a Summary Report listener to get an overview of your results (min/max/average and such), and add a View Result Tree listener to get an overview of EACH step your testplan is taking. This Tree listener is great to actually see what jmeter is doing, and to debug your tesplan.
BTW: if you add a HTTP Request Defaults object, you can set your URL and options in there, and don't need to add it to each and every sampler again. Especially works like a charm if you start using regexp extractors and such.

Resources