This question has come up more times than I can count in the past year and every time it does I cringe because I don’t like saying, “I don’t know.” My response is usually followed by the question: Can’t you just measure the capacity of the network versus the number of users multiplied by the average requirement of the application? The answer is no, because I don’t know what your users’ “average application usage” is.
Before we attempt to solve this problem, let’s break this question down into simple pieces, starting with the term bandwidth. Wikipedia defines bandwidth as the maximum throughput of a network. It is not the amount of data, but the maximum amount at one point in time that the network can transfer. Think of it as the size (diameter, not length) of a garden hose versus the amount of water that can be pushed through the hose. As the size of the hose increases, so does its capacity to transfer more water at once. In other words, a fire hose is going to transfer much more water than a garden hose at one time.
So far so good, but here comes the difficult part. How much bandwidth does the application use? Measuring the bandwidth of your application usage is similar to estimating how many miles per gallon your car is going to get. In other words, if you’re a driver that gets a lot of tickets, has everything in the car turned on with a full load of people, 400Lbs of luggage and you’re late to the airport, your car is going to get very poor mileage. If you’re the only one in the car on a Sunday afternoon cruise, you’re going to get great gas mileage.
The same concept holds true for enterprise application software versus bandwidth consumption only there are a lot more variables to consider with enterprise application software than there are for gas mileage. An enterprise level application has 1000s of settings, 100s of customized reports, labels, peak number of users at different times of the day, dozens of modules, competition with other network traffic, user driven requests for widely varying amounts of data, etc. Instead of measuring, one driver/car, we’re estimating what the gas mileage is going to be at rush hour for ALL of the drivers/cars.
Estimating ERP Bandwidth Requirements
So you should refine the question by answering a few additional questions before estimating your bandwidth requirement.
- What is the maximum number of users at any point in the day?
- What other applications are going to be running at that same time?
- What areas of the software are the users going to be using at that time of day? If it is simply data entry, this requires very little data transfer. Where running a report to display your inventory transactions for the month requires quite a bit more.
- What other applications/servers are going to competing for the bandwidth?
Once you’ve defined the boundaries of what is going to be measured, it is much easier to profile the application usage. There are several network monitoring applications available for free that will monitor the peak bandwidth consumed for a network connection. Using one of them to monitor the data transferred between your database server and a high usage PC (Terminal Server) over a given period of time would give you a great starting point to estimate what your bandwidth requirements might be for your other facilities.