0
votes

I am new to jmeter and scripted for login authentication. Project requirement is to see the load for 10K concurrent users.

Script is working fine but to enhance I need suggestions on how to do the following thigs:

How can I see that how much time/average time the server takes to load a page. which thread grp (studied Ultimate thread group but it is not very clear to me), should be used to see the maximum load the server can sustain in a particular time, for that rampup time need to be adjusted (correct me if I am wrong). Please tell how to adjust the rampup time with respect to users/waiting time etc., in short how to do incremental/proportional observation to see the server performance(there is no Gateway error etc)

1

1 Answers

0
votes

If you're looking for your server capacity boundaries I would rather stick to "requests per second" rather than to "concurrent users" as users may work with different applications in a different way.

For instance, if it is image gallery - the majority of users will be browsing images and do this rather frequently, for instance request next image i.e. each 2 seconds. Given image load time 1 second it will be an image per 3 seconds - 20 images per minute. In this case 10000 users will create the load of 3333 requests per second.

If your site is articles collection, users will need some more time to read an article, i.e. 2 minutes. In that case 10000 users will create 83 requests per second load.

JMeter provides Constant Throughput Timer out of the box, you can set desired target throughput in requests per minute using it. And once you're already aware of JMeter Plugins project, it offers Throughput Shaping Timer - more advanced test element with extended functionality.

If you go "throughput" way, no matter which Thread Group you choose as the load will be orchestrated by aforementioned timers.

See What is the Relationship Between Users and Hits Per Second? article for more detailed explanation.

Once you design your test scenario run it in non-GUI mode (as JMeter's GUI is very resource intensive) as:

jmeter -n -t /path/to/your/testplan.jmx -l /path/to/resultsfile.jtl. 

When the test finishes, open JMeter GUI, add Aggregate Report listener and inspect min/max/average response times per requests.

Aggregate Report