Skip navigation.

Performance Requirements / Load Testing

Mercury LoadRunner | performance testing
What are "reasonable think times"? It can be 3 sec or 3 hours depending on context (for example, a data operator typing a few numbers into a simple form and then save it in the first case and a data analytic getting data from a database and then analyzing them offline in the second case).

Perhaps it would be better to look at it from throughput point of veiw. You can measure performance of your system in the number of transactions per period of time, whatever transactions mean for you - like reports per min, queries per hour or pages per sec. I mean here business transactions important to you, LoadRunner (or another tool) has different notion of transaction.

The number of user (i.e. connections) is important too, but if you haven't any particular problems with a large number of transactions in your software and you don't max out the system (in this case you can get any kind of weird effects), it should be quite similar to simulate 100 users running 60 queries per hour (one query per minute - if we guess that query are very fast, it means 1 minute think time between queries) OR 500 users running 12 queries per hour (one query per five minutes - if we guess that query are very fast, it means 5 minute think time between queries).

Again, above is true if you tested it with 500 users, sure that it works fine, and you have some resources available on the system (for all of them - cpu, memory, i/o, network) - otherwise results can differ significantly.

So my suggestions is to start with the total throughput the system should handle, then find the number of concurrent users, get the number of transaction per user for a test periond of time, and then try to set think times to ensure the proper number of transaction per user.

If you have license limitations (or don't have time to run a real-life scenario), you can try to use less users submitting more transaction (so the total throughput would be the same). So instead of 500 users submitting 10 queries per hour you will simulate 250 users submitting 20 queries per hour (see my comments above when it can be appropriate). In this case we can speak about ratio of LoadRunner and real user (1:2 for that example), I don't see much sense in it in other cases.

I believe that 5-15 sec think time is good only for professional operators that enter data the whole day. Otherwise they are unrealistic and you get much heavier load. I believe that think time should be not how quickly user can work, but avarage of all breaks (including cofee breaks, meetings, Internet browsing, etc.) across all users. Difficult to estimate, so probably it is better to go from any facts (if you can find any) - the number of reports per day, the number of filled form per day, etc.

My point of view is that you make vuser more (quite oftem) or less (rather rare) stressful than the real user, there is no inherent ratio or relationship. Simulation never would be equal to the real life, but your task is to get close (as close depends on your risks / resources / skills / intuition).

Throughput/Response Time

Scott,

I completely agree with everything you told about user experience. Still I believe that throughput and response times compliment each other - you can't go with one without another. What is "fast" for 100 users, can be "slow" for 200 users and crashes for 300 users. In your citation "a quantifiable & testable performance requirement..." 500 users (with probably implying rate of clicks - sorry, I am a little confused what information we get from " the site IAW the approved user community model(s)") is throughput. One my point was that 500 hits per seconds (for example, let's leave aside the questions what clicks and what is randomness here) is better metric than 500 users. After that, of course, "At a load of 500 hits per minute ... static pages display over a clean 256kbs download connection at 3 seconds or less 95% of the time, search pages in 5 seconds 95% of the time and order pages in 8 seconds or less 95% of the time. Exception pages (such as administrative monthly reports) have requirements detailed below." Sure, each user doesn't care about throughput, but it is still important for the whole system. I believe that we need both throughput and response times requirements before doing any performance testing (otherways you assume them one way or another).

Alex

Forgive me, but I feel compelled to disagree...

(For more detail on my comments below, refer to www.perftestplus.com - in particular the article entitled "How Fast is Fast Enough")

IMHO, throughput is one of the worst perspectives to start with. Throuput is an enabling requirement. What really matters is User Experience. Take this simple example (my favorite)...

My mother, who is still on dial up, has a game that she plays on her desktop. She expects webpages to be slow, so she starts her game, clicks a link, takes a turn, then checks the page. If it has loaded, it is "fast enough". If not, she either comes back later or gives up.

My mother coudn't care less about your throughput, she simply is not willing to put in more time per page than 1 turn on her game - which, by the way, is rather arbitrarilly variable.

On the other hand, I am a power user who virtually never connects on anything slower than a cable modem. I have a tollerance of 3-8 seconds depending on the page, how important the information/transaction is to me, and the activity being performed (for instance, I will wait longer for a search than I will for a FAQ page). Even so, throughput never crosses my mind as a top level performance requirement.

To me, a good performance requirement is solely based on user perception. To determine a good requirement, one must know their users, their psychology, connections, size & distribution of the userbase and a representative usage model. So, for example, the following is a quantifiable & testable performance requirement...

"At a load of 500 hourly users accessing the site IAW the approved user community model(s), static pages display over a clean 256kbs download connection at 3 seconds or less 95% of the time, search pages in 5 seconds 95% of the time and order pages in 8 seconds or less 95% of the time. Exception pages (such as administrative monthly reports) have requirements detailed below."

Now, by defining requirements thusly, one can reverse engineer the throughput necessary to achieve the requirement. However, it should be obvious that throughput is not the only "sub-requirement" to achieving the requirement, so starting from throughput is obviously an incomplete method.

Bottom line, the only person who knows if a site is "fast enough" is the end user and if they are unhappy with the speed then they tend to apply the (now old) addage "the competition is only 3 clicks away".

Think about it.


--
Scott Barber
PerfTestPlus
Software Performance Specialist,
Consultant, Author, Educator
sbarber@perftestplus.com
www.perftestplus.com

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.