Calculating Bandwidth needs


I have this application that I know transmits/receives, on avarage, 17k. I have been told that I will have 3000 concurrent users and have been asked to do some capacity management docs. Not 100% sure where to start.

Is it just a case of peek usage is 17k * 3000 = 49mb pipe???? Doesnt sound right to me :)

Not sure where to start really. Any help please?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

17k (what?).  The figure "17K" I assume means 17,000.  But it's unit-less and therefore meaningless.  Could be bits/sec, bytes/sec, or even something else.

It's like saying "my car can go 80".  Well depending on where you live 80 could mean different things...
smurffAuthor Commented:
Sorry, assumptions.

17k is the amount of data needed per "Use Case" e.g. Submitting a ticket and reading a reply. I measured it with a software packet viewer.

So, assuming I dont know much about bandwidth, I am thinking that if I have 3000 concurrent users doing this constantly 24/7, what am I looking at? Do I need to specify speed as well? e.g. bytes/sec

Since its quite small I thought that it would be latency bound and not bandwidth bound but I have been asked to quantify.

17k WHAT??  Bytes, bits?

Assuming BYTES (and note that most data lines are sold in BITS/SEC) we also need to know the RATE of ticket submission.  That will give you the AVERAGE speed needed in your data line.

Another factor is your specification for worst case performance.  How long, as a maximum, can it take for a customer to submit such a ticket assuming a certain maximum number of customers are accessing the site at once.  This will give you your PEAK speed needed.

Then talk to your data line provider and see what they recommend.  Some lines (like T-1) are fixed speed.  Others are variable and support "bursting" to help you in those few minutes/day when you get a higher than average loading.  There are many options here but buying 50% (or more) extra bandwidth to support a peak period only a few minutes long during a day might not make sense.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

A little trickly.  Depends on a few factors - mostly will the 3000 concurrent users be submitting tickets and reading replies at the exact same time?  If you have 3000 concurrent, then your peak usage is likely to be greater.

Here's how I ran the numbers:

17KiloBytes      17000
bits      136000

kbps      136
mbps      0.136
3000 CC      408 Mb (CC=Concurrent Connections)

17KiloBits      17000

kbps      17
mbps      0.017
3000 CC      51 Mb (CC=Concurrent Connections)
smurffAuthor Commented:
Thanks, both of you.

jhance, yes kilobytes. But it also made sense, and after reading a few sites, that this will effect the speed of the application. Currently there are no SLA against this but I am sure there will be.

pseudocyber, thanks also but from the network diagrams I have, none of the current pipes have this type of capacity. The largest is 40mb pipe. This is for a large investment bank in London and they run lots of apps on this already. Asking for a 400mb pipe will mean I will get laughed at. Is this really correct?

One idea I am thinking is that if I can make a stress tool to simulate the 3000 cu, then I can measure how much bandwidth is needed, not 100% sure how to, Im sure a router of some kind would help. Maybe :)

Well, are you REALLY going to have 3000 concurrent users making the same request at the same time?
smurffAuthor Commented:
Supposed to be. Its a trouble ticketing system. So this means incidents, problems, request for changes, IMACS (installs, moves, adds and changes). So 3000 is peek from global connections from America, Europe, Asia and Australia.
I notice you said Transmit/Receive = 17KB.  Since I don't know how much of each, I'll divide by 2 to average it into half receive, half transmit.

You still need a 217Mb pipe to accomodate 3000 connections simultaneously transferring 17KB back and forth.

KB      17      17
B      "=17*1024"      18088
bits      "18088*8"        144704

half bits      "=144704/2"      72352

bps      "=72352"      72352
Kbps      "=72352/1000"      72.352
Mbps      "=72.352/1000"      0.072352

3000 Users  "=.072352*3000"      217.056 Mbps

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
smurffAuthor Commented:
Top stuff thanks. I was just thinking that I should ask for how many concurrent users from each location. That way I dont need to ask for one big pipe, but thanks for all your work, really.

Kind regards
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.