When I used to work in a corporate environment, the issue I always found to be the most annoying was that of users calling in to say that the network was slow. There were a couple of reasons why I dreaded these calls. First, slow performance is a non-specific symptom. There are countless factors that could cause a user's session to run slowly. It could be anything from a congested WAN link to a virus on the user's PC. The other reason I dreaded these calls is that "slow" is a relative term. What is slow to one person may not be slow to someone else. It's just a matter of what the person is used to.
If your help desk occasionally has to deal with users reporting poor performance, one way you could begin the troubleshooting process is to measure the user's available bandwidth. There may sometimes be better places to start looking for the problem, especially if the user is only accessing local resources or if some network resource is known to have performance issues. But if there are no known performance problems, then taking a look at the available network bandwidth is a great place to start troubleshooting, especially if the user is passing across a WAN link.
Of course, the question then becomes "How do you measure network bandwidth?" There are several ways of measuring and monitoring the available bandwidth. You just have to decide which method is best for your company, based on your own individual budget and needs. For the purposes of this article, I will show you both a high-end and a low-end software product for monitoring network bandwidth.
A high-end solution
There are countless third-party products available for monitoring network bandwidth. One example of such a product is CyberGauge. I want to tell you up front that I have never actually used this particular product, so I am not necessarily recommending it. The reason I chose to write about it is that it contains a good basic feature set and is somewhat reasonably priced.
CyberGauge uses SNMP to monitor routers on your network. In doing so, it automatically collects and logs usage statistics. It then uses these statistics to compile daily, weekly and monthly average utilization reports. What this means is that the software is basically creating a baseline of what level of bandwidth consumption is normal for the various segments on your network.
If a user happens to call the help desk reporting poor performance, you can view the current bandwidth utilization of each segment and compare it against your baseline. More importantly, though, the software can be configured to send you an alert if a network device becomes unresponsive or if the bandwidth utilization exceeds a preset threshold. This allows you to be proactive in correcting bandwidth-related problems.
A low-end solution
When it comes to low-end products, I like a free utility from IXIA called Qcheck. The best way I can describe Qcheck is to say that it is like an advanced Ping test. The basic idea is that you install Qcheck at two endpoints on the network. For example, you might install it on a workstation at the help desk and on a server in your data center.
If users begin to complain of slow performance, Qcheck can test the throughput between two endpoints. In addition to checking the throughput, Qcheck also tests for packet loss and can test a variety of different protocols. Qcheck can even perform tests to see whether the network can support streaming media, as used in videoconferences.
In addition to performing a packet loss and throughput test between two endpoints, Qcheck also performs a trace route. It shows you all of the hops between the two endpoints and reports the latency of each hop, along with the name of each hop. In case you are wondering, the trace route function does not require the endpoint software to be installed at the destination. This means that you can perform trace routes against resources that you don't own, such as Web-enabled applications hosted by someone else.
Which is better?
I've shown you an example of both a low-end and high-end application. So which is better? It really depends on your business needs and your budget. For example, CyberGauge's ability to automatically monitor your network's performance and send you alerts about sub-par performance is certainly desirable.
Quantum indeterminacy states that you can't measure a thing without affecting it to some degree. What this means is that the price of this constant monitoring is that some of your bandwidth will be consumed by the monitoring process. Qcheck consumes some bandwidth too, but it is an on-demand testing solution. Because it does not constantly monitor your network, there is far less of a drain on your network's bandwidth.
I personally tend to think that Qcheck is more flexible than CyberGauge. It allows you to test what you want, when you want. I also like the fact that Qcheck can use a variety of different protocols and that it supports tests for streaming media. Of course, Qcheck will never on its own proactively alert you to an impending problem. It's up to you to run the tests and interpret the results.
In the end, I don't think that one solution is necessarily better than the other. Both have their advantages and disadvantages. It's just a matter of which one best meets your needs. You should also keep in mind that there are dozens of other bandwidth-monitoring products available on the Internet.
About the author:
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server and IIS. Brien has served as CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. As a freelance technical writer, he has written for Microsoft, CNET, ZDNet, TechTarget, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal Web site at www.brienposey.com.