Click to See Complete Forum and Search --> : Calculating bandwidth


nigelhoath
June 7th, 2009, 12:30 PM
Anyone could confirm I'm running in the right direction with this I would appreciate it.

I'm trying to calculate bandwidth for my application. I expect a max of 133 users per hour over a 2 mbit vpn

I measured the latency by ping = 150 msec.

Then I captured some network traces of specific transactions and calculated needing per hour to handle:

-- w/o compression or caching -- with compression and caching
message pairs -- 37082 -- 21505
packets client to server -- 70046 -- 53113
packets server to client -- 170255 -- 135753
bytes client to server -- 64835344 -- 7336108
bytes server to client -- 207190555 -- 33739835

Probably a bit noisy for a web type .net application using tcp on Microsoft as the users do very little. Logon, enter some numbers, log off.

What I would like is some guidance as to how to develop an algorithm to say if the current link would work and what the average message pair response time would be. Can I simply multiply and total up based on message pairs or do I have to take into account that a message pair with many packets will have a noticeable delay?

Any input gratefully received.

Doron Moraz
June 9th, 2009, 01:35 PM
Can I simply multiply and total up based on message pairs or do I have to take into account that a message pair with many packets will have a noticeable delay?


I suggest you to compare the results with a 3rd party bandwidth monitor.
(You can download a free utility here: http://www.dumeter.com/)
Personally I would capture all incoming and outgoing packets, and calculate the consumed bandwidth as required. (Per port, app, IP address, adapter, and so on).
The bandwidth calculation algorithm becomes trivial when you intercept the traffic.
You can implement your own library using LSP, NDIS, etc... Or you can use an existing library like Winpcap if you are looking for a quick result (http://www.winpcap.org/)


Good luck
Doron Moraz

nigelhoath
June 10th, 2009, 02:33 AM
Doron tx for your reply. I now have some figures from a load test and these relate well to the figures I gleened from the network transaction traces (as of course they obviously would). But now my problem is building an algorithm to predict bandwidth requirement and service times when: a) the traffic increases and b) the user centre is restricted on bandwidth (usually for political reasons). I'm looking at round trip times greater than 300 ms.

One of my concerns is that as queues form service is likely to deteriorate exponentially. This may be a bigger problem where message pairs consist of many packets (?). Thus an algorithm based on a simple linear model will give a false confidense.

Obviously only a load test can give the true picture but if I can find an algorithm that gives reasonable predictions, allowing for high percentage usage, with a plus or minus factor that would greatly help reduce the costs of the decision making process. All the algorithms I have found appear to be based on a linear model. My gut feeling however is that the problem, if the results are to be accurate, is more complex than that.

Doron Moraz
June 10th, 2009, 05:29 PM
There are quite a few QOS algorithms with bandwidth prediction or LSTP that may help you to achieve your goal.

There is a very good article that you may find interesting:
http://web.njit.edu/~ansari/papers/05JON_Luo.pdf

It uses the least-mean square (LMS) algorithm for the prediction and it also cover the success probability.


Regards
Doron