Link to home
Start Free TrialLog in
Avatar of harboramerican
harboramericanFlag for United States of America

asked on

How to determine the maximum number of concurrent connections my server can handle.

I have an application that runs through a web browser.  I have a dedicated T1 line between us and another company.  This is the ONLY transactions done on this T1.   I am trying to determine how much bandwidth my app uses from the time the user send a request to me and gets a response back to them.  Then I want to use that info to determine what would potentially be the maximum number of users that could connect to this server at one time.  

(P.S.  the server is a 2.4 Ghz, with 1 + Gig of RAM, and 80 Gig HDD.....defintely enough power).

How do I determine the bandwidth usage with my App?
How do I determine the maximum # of users?  And is there a free solution?

Please Help!
Thanks.
Avatar of Tacobell777
Tacobell777

Are you using IIS6 or 5
I think you are talking about 6.

If you are talking about limiting the bandwidth, then I would not even fool with it, man you got a T1...!

Unless this customer is paying you for a certain amount of bandwidth? Then I would limit it to what he is paying for.

If this is IIS6 and your talking about limiting the number of users, I would also not bother with it, or set it to a realistic amount, for example if you reckon only 10 people would connect to at a time then set it to 15 or something.

Why exactly do you want to limit anything?

Anyway, to sort of answer your question, I guess you would use http://www.paessler.com/prtg/ to see what badwidth your site uses. And you can use any other statistics software to analyse your logs, for example with www.webtrends.com/ or http://www.eiqnetworks.com/products/webanalytics.shtml and then determine your settings by looking at that.
Avatar of harboramerican

ASKER

Where's the answer?
I am not wanting to LIMIT anything.  I am wanting to be able to determine (on IIS 5) what the maximum number of concurrent connections is that I could handle, so that the customer knows what the limitations are and what they can expect.
Hi!

This question isn't easily answerd.
You do know http is stateless protocol, right ?

When I started my first webapp in Java I had a hard time learning this, but eventually got it.
Ok exact bandwith is hard, but calculate like this:
http add 10%
https add 33%

Follow theese steps and you'll get an idea:
1. User make a request, this bandwith can be ignored, unless it's a form.
2. In IE for example, save down everything that displays in page and check how much disk it takes up.
    Add it all up, and you get a pretty good picture on how many kb got transfered to the client.
3. Repeat 2 for all pages you want to calculate for.

So let's say one response genreates a page that is 250kb.
If HTTPS it's about: 330kb transferd.
If HTTP it's about: 275kb transferd.

I'll take the HTTP as example.
275Kb is about 2200kbit, whic is about 2.14Mbit.
T1 about 1.54Mbit is about

So one such request will take all bandwith for just over 1 second.

Now it depends on how long time is the longest you want the users to have to wait before the page is loaded.
Let's say 5 sec is maximum.
Then you can allow 5 exactly concurrent users, this rarely occurs so you can multiple this with 1.5-2.
In this case I would say no more then 10 users on the T1 or it will start go very slow for everyone.

This example you can use to calculate yourself how much is needed. The smaller the total page are in kb, the more number of users you can have.

Hope this will help you to figure out a reasonable number yourself.

Regards
/Hasse
With all due repect to the other contributors all the calculations could be a bit of a waste, as you may find yourself processor or memery bound first. Depending on what your application does and how well it does it you could find (in the absolute worse case scenario) that you might only be able to support a couple of concurrent conncections - very unlikley I know but is possible. Given a T1 line, and that you have IIS5 I am guesing that it is asp based ? maybe a database too ? A well written app should be able to serve on that spec machine up to 250 concurrent *sessions* That would depend on what other bits of software where running, how big the databases are and how well written the app is.

You best bet would be to run some kind of stress testing software otherwise you are looking at an equation with too many unknowns
ASKER CERTIFIED SOLUTION
Avatar of heskyttberg
heskyttberg

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial