1
votes

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

3
what is moto behind all this, you have any performance benchmark. firstly set benchmark then deside where is bottleneck ( try to do fix ) then go for maximam load.Chetan
@Chetan my project require that site should be operational for 100 users which r regular but may increase to more than 500 in peak times. We have to show that it can withstand 1000 users. there are multiple user groups all with number of pages we are testing most heavy pages and at least for 100 first but some time even login page is too slow so I was wondering if I am doing it right or notabdul qayyum
Just don't know why people -1 without any reason. I have written in clear and separate lines, got answers too that I am working on. But here is a -1 without any explanationabdul qayyum

3 Answers

2
votes

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.

0
votes

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/

0
votes

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