I am little confused in selecting Check and Unchecked in Percent Executions-Per User.
Below is the Original Test Design in terms of Users using HP tool.
I have designed the above TestDesign d as below using SteppingThread Group and Throughput Controller
Under Stepping Thread Group it has 9 Scenarios. Used Throughput controller for users distribution in terms of percent for 9 scenarios as Percent Executions-PerUser-Unchecked.
I have assigned users per scenario using the below calculation.
From the above calculation,30 users distributed among 9 scenarios as below.
So,1)I am not sure is users distribution converted exactly as original design? Did I achieve? If not how do I achieve this?
2)Should I Uncheck or Check PercentExecutions-PerUser
3)Should I choose Uncheck or Check TotalExecutions-PerUser
Please advise!
See the below screenshots.
Below link gave me the clarification
https://www.blazemeter.com/blog/running-jmeter-samplers-defined-percentage-probability
Related
I have a single thread group for 100 users and I need to distribute the load as below 100 users will navigate to login>> homepage. After that 60 users navigate to buy shoes and the remaining 40 users will check their balance and 100 users log out. How can we achieve this in JMeter?
I am trying If controller to achieve this but cannot do so.
Take a look at Throughput Controller, it allows you to specify either percentage or exact number of executions of its children.
If you will have more distribution options Weighted Switch Controller might be a more convenient option:
The Weighted Switch Controller can be installed using JMeter Plugins Manager
I am running jmeter tests with 100 to 1k users successfully,
But I suspect if response time is higher than expected.
My test plan include: get login and post login, get test page , post test page, get search page, post search page....
in total 5 get and 5 post forms.
For same number of users if I reduce number of pages the overall response time decreases
so should I run test for pages separately?
Should I reduce number of users for realistic numbers (5 pages*20 users=100 concurrent users)--for performance test?
Or should I be using distributed system?
What is the best practice?
Current Setup: i5, 8GB Ram, One windows machine with Jmeter 3.1
You load testing should be realistic, otherwise it does not make sense. You need to simulate anticipated users behaviour as closely as possible, only this way you will get the real life picture.
So you need to implement your test scenario to match the way, your site will be used in the real world. If it is alive already you can use Access Log Sampler to replay the traffic. If it is not, you can think about "user groups", like:
50% of not authenticated users will be browsing the site
20% of authenticated users will be browsing the site
5% of users will be in login process
3% of users will search for something
etc.
You can use different Thread Groups to represent different groups of users and Throughput Controller to control the frequency of samplers execution inside the Thread Group. See Running JMeter Samplers with Defined Percentage Probability article for more information on how to distribute the load in a realistic way.
There are N number of factors that will affect the overall response times. number of users / pages etc are also few of them. Do you have any specific requirement for performance test? If you are not sure of non functional requirements, then I think all your questions will be clarified in these posts -
http://www.testautomationguru.com/jmeter-performance-testing-application-of-littles-law-to-workload-models/
http://www.testautomationguru.com/jmeter-tips-tricks-for-beginners/
I think you could be running into jmeter issues. What is the JVM heap and GC algorithm that you are using? How are you measuring the performance of each page? If you are using "Transaction Controller" to measure the performance, any slowness in jmeter will affect your transaction controller values.
Have you correlated with the application logs to really understand that the application is indeed slowing down when you decrease the # of pages? If your application response time is constant, I think jmeter is the culprit here. Move all your measurements to the sampler level instead of transaction controllers and update the results
I have been looking on the site and I don't see anything related to this topic, so I decided to ask.
Basically, I would like to know if there is a way to extract the error rate per page using a period of time. The reason is because we run a test in different stages, with different levels of throughput. Therefore, I am interested in obtain the degradation on page health. I already got the hits and response times. However, the error rate I don't see a way to get it.
If someone knows a way, please share!
Thank you in advance guys!
You can use the jp#gc - Hits per Second - listener. Just click on Errors check box to show only the failed requests which is the Error rate you are looking for!
For page level Error rate, you can jp#gc - Transactions per Second
You have the following options:
Response Codes Per Second chart available via HTML Reporting Dashboard
Response Codes Per Second chart available via JMeter Plugins
Use 3-rd party analysis solution like BM.Sense
I have a very few actually a couple of users for a particular profile. Will it be a good performance test only with these 2 users? May be putting them in a loop with a timer?
If you are looking concurrency that it is not a good idea. If the user is allowed to have multiple sessions then you can try to reuse the same user in multiple jmeter threads.
Please tell me for 1000 users ,how much ramp up time shall I give,so that in Jmeter report also 1000 users should come.I have tried every combination almost but failed.And I want to test it in a given loop count,not in forever mode.
For example i have ran test for 1000 users with 1000 sec ramp up time and loop count to be 1,but the in jmeter report,only 12 users are shown to be active/virtual users.So please tell me the correct combination.
And if I talk about graph listener,why it is start from end direction,that is from the opposite direction where it should end.
Thanks
This is a common misunderstanding described in Max Users is Lower than Expected article.
In official documentation it's recommended to start with
Ramp-up = number of threads and adjust up or down as needed.
If you need to limit test execution time you can use Runtime Controller. If your goal is to simulate 1000 requests per second - you should be using Constant Throughput Timer.
Ultimate Thread Group available via JMeter Plugins allows configuring ramp-up, ramp-down and time to hold the load period in easy visual way.
Choose any above option or combination according to you load test scenario or elaborate the question so we could suggest the best one.
If you have specified 1000 users, but only 12 are shown to run in the test report, its possible that your test duration is set too low.
Try changing the thread group settings to those in the screenshot, does that help?