|
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
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 ------------------

|
imad Advanced
 
Posts: 178 Registered: Oct 1999
|
posted 03-21-2002 07:48 PM
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 helpedGood Luck Imad
------------------

|
allogene Advanced Guru
    
Posts: 921 Registered: Jun 2001
|
posted 03-22-2002 06:55 AM
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

|
dennis_somerville New Member
Posts: 3 Registered: Mar 2002
|
posted 03-22-2002 02:25 PM
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 ------------------

|
JoeW Advanced
 
Posts: 110 Registered: Jun 2001
|
posted 03-25-2002 02:20 AM
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. ------------------

|
mwsrosso Advanced
 
Posts: 131 Registered: Sep 2001
|
posted 03-26-2002 07:01 AM
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. ------------------

|
dennis_somerville New Member
Posts: 3 Registered: Mar 2002
|
posted 03-26-2002 09:17 AM
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 ------------------

|