How to find the maximum load can handle by an application
Following is my approach to find the performacne break point of an application.
1) Conduct multiple tests with incremental load (Transactions per second).
2) Verify the Total throughput generated by each test
3) Draw a graph with Throughput againt the load. find the point at which the Total Through put starts decreasing. The corresponding load will be the maxium application can handle.
The assumption for this apprach is that initially the Total Throughput will increase with incease the load. After reaching the peak the server will not respond as earlier and the Total Throughput will gradually decrease.
Please let me know if there is anything wrong in my approach
Here Total Throughput means The number of bytes received by enduser at any point of time
Thanks in Advance
Your approach to find break point is correct. Keep on increasing user load steadily and at one point you will find throughput (hits made to server) will sharply decrease (moves down to zero).This point is known as saturation point or knee point or break point.
That is incorrect.
Originally Posted by adensia
Just because the throughput starts decreasing, that does NOT mean that this is the maximum your application can handle.
You can have this inflection point, and still be able to accept more load (though at decreased throughput). Your application is NOT "broken" at this point.
Post Thanks / Like - 1 Thanks, 0 Likes, 0 Dislikes
Yes I agree with Joe, if the throughput drops that doesn't mean the application can't handle the load, it just means that is the point when the performance starts to degrade...but the response times received by the end user may still be completely acceptable. For example if you were getting 2 second response time but after adding more load the throughput drops and it changes to 3 second response time, that is not typically considered to be unnacceptable.
I think the maximum load an application can handle is found by first determining what response time(s) is/are considered to be unnacceptable. I.e. what are the SLA's for response times for each transaction? If any of those SLA's are being exceeded then that's when I would say the application is being overloaded.
Last edited by LoadRunner421; 02-01-2013 at 05:56 AM.
Thanks for your response.
I also agree with you. We should finalize the SLA before starts load test. But if any casse there is no specific SLA (interms of response time) defined, I think we can consider the point at which the throughput starts degrade as the maximum load the application can handle with degrading the performance. Further increase the load will decrease the throughput and increase the response time.