The online community for software testing & quality assurance professionals
   
Active Topics Today's Topics
Sponsors:
Lost Password?

Home
BetaSoft
Jobs
Training
News
Links
Downloads

News Group:
software.testing


Testing
Automation
Performance
Engineering
Miscellaneous
Statistics
Poll
  QA Forums
  Performance & Load Testing
  Estimating the number of users based on concurrent virutal users

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   Estimating the number of users based on concurrent virutal users
dennis_somerville
New Member

Posts: 3
Registered: Mar 2002

posted 03-21-2002 05:34 PM     Click Here to See the Profile for dennis_somerville   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by dennis_somerville
I have searched the forum up and down about how to estimate the number of "regular" users a website can handle based on the number of concurrent users which are used in a stress test. I ran into a few topics which did not help me very much.

I would like to start with some definitions (at least how I am defining them in my message).

CONCURRENT USERS = # of users performing a transaction at the exact same moment.

"REGULAR" USERS - Users who are using the website normally, creating "wait" time between transactions.

STRESS TEST = A load test without any "wait" time. Transactions are executed as quickly as possible.

TRANSACTION = A single page view to and from the website. This includes connecting to the webserver, having the webserver process the request, retreiving all the data from the webserver and finally, closing the connection(s).

********

I am aware that a stress test will give an inaccurate estimate of the memory and Network I/O resources being used on the webserver. I am not interested in these statistics at this time. What I am trying to figure out is basically a general rule of thumb to use when trying to estimate the number of "regular" users based on the results of a 100 concurrent user stress test.

My purpose behind this is that the load testing tool I am using is expensive. We have purchased a 100 concurrent user license. I would like to stick with that until the site (hopefully) "outgrows" this license amount and I need to purchase more.

Does anyone use a ratio of "regular" users to concurrent users, such as 12:1 or 7:1? For example, if your site can handle 10 concurrent users, than theoretically it can handle 60 "regular" users (using the 12:1 ratio). I have heard these ratios being tossed around.

Is their a calculation I could use which would take into account the normal transaction time, # of concurrent users & actual transaction time?

Thanks,
Dennis

------------------

IP Logged

imad
Advanced

Posts: 178
Registered: Oct 1999

posted 03-21-2002 07:48 PM     Click Here to See the Profile for imad   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by imad
I have been doing it in two ways:
1) When I have an actual log file for the site I analyze the server log file and break the traffic in minutes and hours for one month. I look at how long the visitor been in the site how many page views, what’s there IP address if they are new or frequent visitor to the site. This analysis helped me in predicted the worse case scenarios and I found that if the site can survive the highest page views/searches /hour that I collected… it can handle the Spike times every now and then.
2) The other method that I used if an actual log file is not available is to use the Concurrent connection/and number of threads while keeping an eye on the Perf counters (%CPU, Memory\Available Mbytes, Physical Disk\% Disk Time, etc…) and then apply a ratio of 5:1 …. I hope this helped

Good Luck
Imad

------------------

IP Logged

allogene
Advanced Guru

Posts: 921
Registered: Jun 2001

posted 03-22-2002 06:55 AM     Click Here to See the Profile for allogene   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by allogene
It is extremely difficult to create this kind of real user to virtual user ratio. There are a lot of variables to take into consideration. My suggestion is this.

Use throughput.

Obtain an average through put level for a set amount of users. Now as long as your testing is not producing extra throughput then your users are you can get an estimate of the number of users.

------------------
Simple minds, Simple thoughts!

Doug

IP Logged

dennis_somerville
New Member

Posts: 3
Registered: Mar 2002

posted 03-22-2002 02:25 PM     Click Here to See the Profile for dennis_somerville   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by dennis_somerville
I appreciate the responses I have gotten to my question. The reason I am running this test is because we are about to launch an application for which we expect an unusually high amount of traffic. I really need to know what the site can handle under this added stress.

As far as transactions per second, I have been able to produce about 10 or 11. What does that tell me as far as the nubmer of "regular" users I can support?

Our main bottleneck is the webserver's CPU. Dual 933mhz start to max out on about 10 or 11 concurrent users with no wait time. This may just be coincidence.

The extra traffic I am anticipating will be coming in gradual waves, not in a huge tsutnami. If worse comes to worse, we have room for a couple more CPU's. We can also upgrade the exisiting ones if necessary. I am new to load testing (obviously). I think it is a critical part of testing that is far too often overlooked.

Thanks again for your help. Any more pointers would be greatly appreciated.

Thanks,
Dennis

------------------

IP Logged

JoeW
Advanced

Posts: 110
Registered: Jun 2001

posted 03-25-2002 02:20 AM     Click Here to See the Profile for JoeW   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by JoeW
As Allogene says, your best option is to look at throughput or transaction rate.

You need to work out how many transactions (web pages) you expect the average user to perform and it what time (assuming this is a new app, and you don't have web log stats). One way to do this is to sit down with a stopwatch, and use the site (or better, find a guinea pig to do this).

Then you can convert your concurrent figures into real life. E.g. if it takes one user 100 seconds to perform 10 transactions (0.1 trans per second), then your 10 tps translates to 100 users.

The danger of this way of doing things is that you aren't testing the effect of actually having a large volume of users - their memory usage in particular.

------------------

IP Logged

mwsrosso
Advanced

Posts: 131
Registered: Sep 2001

posted 03-26-2002 07:01 AM     Click Here to See the Profile for mwsrosso   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by mwsrosso
Hi Dennis, thats an interesting question, one I asked myself after recently pricing up another 100 Vusers. The problem with trying to correlate a ratio is that there are too many variables that affect playback of scripts(Infrastructure, hardware, Application, Databases etc.)Each site I have worked on has been quite different to the previous site. I think you may have to use guesstimation based on your knowledge of the system you are testing.

Your comment about CPU utilisation etc. is surprising, even if you worked out a ratio of X Stress Users = Y Real users you would still need to know how hard your boxes were working to extrapolate Max Real Users wouldn't you?

This is not meant to be a negative email but sometimes there is no way round "doing the maths".

Mark.

------------------

IP Logged

dennis_somerville
New Member

Posts: 3
Registered: Mar 2002

posted 03-26-2002 09:17 AM     Click Here to See the Profile for dennis_somerville   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by dennis_somerville
Mark,

I appreciate the honest feedback. I have another application that I was lucky enough to have bog down on me after only 5 or 6 concurrent users. I was able to use my current licensed limit of 100 concurrent users to simulate a more realistic test with wait time and client-bandwidth simulation.

At least now I know there is no real good way to do this other than purchasing more licenses. I think I will get a better feel for this as I continue to gain experience in this area.

Thanks again,
Dennis

------------------

IP Logged

All times are PT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic | Top
Post New Topic  Post A Reply
Hop to:

Contact Us | BetaSoft Inc. | Privacy Statement

Copyright © 1997-2003 BetaSoft Inc.


Ultimate Bulletin Board 5.45c