The most accurate method of estimating peak bandwidth requirement for a web application

asp.netbandwidthloadtesting-strategies

I am working on a client proposal and they will need to upgrade their network infrastructure to support hosting an ASP.NET application. Essentially, I need to estimate peak usage for a system with a known quantity of users (currently 250). A simple answer like "you'll need a dedicated T1 line" would probably suffice, but I'd like to have data to back it up.

Another question referenced NetLimiter, which looks pretty slick for getting a sense of what's being used.

My general thought is that I'll fire the web app up and use the system like I would anticipate it be used at the customer, really at a leisurely pace, over a certain time span, and then multiply the bandwidth usage by the number of users and divide by the time.

This doesn't seem very scientific. It may be good enough for a proposal, but I'd like to see if there's a better way.

I know there are load tools available for testing web application performance, but it seems like these would not accurately simulate peak user load for bandwidth testing purposes (too much at once).

The platform is Windows/ASP.NET and the application is hosted within SharePoint (MOSS 2007).

Best Solution

In lieu of a good reporting tool for bandwidth usage, you can always do a rough guesstimate.

N = Number of page views in busiest hour P = Average Page size

(N * P) /3600) = Average traffic per second.

The server itself will have a lot more internal traffic for probably db server/NAS/etc. But outward facing that should give you a very rough idea on utilization. Obviously you will need to far surpass the above value as you never want to be 100% utilized, and to allow for other traffic.

I would also not suggest using an arbitrary number like 250 users. Use the heaviest production day/hour as a reference. Double and triple if you like, but that will give you the expected distribution of user behavior if you have good log files/user auditing. It will help make your guesstimate more accurate.

As another commenter pointed out, a data center is a good idea, when redundancy and bandwidth availability become are a concern. Your needs may vary, but do not dismiss the suggestion lightly.