How to monitor internet bandwidth
August 19, 2013 11:14 AM   Subscribe

My company is considering moving our software into a cloud solution. I'd like to figure out a way to continually monitor available bandwidth (not usage), at defined intervals throughout the day.

Ideally, such a monitoring tool would be an application that would live on our server (Windows Small Business 2011), or a web-based service such as that could offer more comprehensive reporting. I would love it if I could get a report that was a simple graph plotting connection speed across hours, days and even weeks. I want this information to see 1) if we're receiving the amount of bandwidth we're paying for from our provider, 2) if there are any times throughout the day where we see a significant slowdown, and 3) to have some data to estimate how much bandwidth we'd need given our company size and projected usage of the cloud system. I have a modest budget for such a tool, but don't really have any skills to create a script that would repeated run a ping or traceroute or whatnot.

I've tried googling for such a tool, but I've only been getting results for monitory usage, and not just available bandwidth. I'm the unofficial (and untrained) IT guy at our company, and we have an unsupported environment aside from the hourly 3rd party vendor we hire from time to time. I thought I'd turn to the hivemind to help solve this problem before I start running up a bill with our consultants.
posted by slogger to Computers & Internet (6 answers total) 1 user marked this as a favorite
You can do this with iperf running at both ends (on your client and on the server- usage examples)

You run it once, it sends data across and reports back bandwidth. If you want to run it at regularly scheduled intervals, use something like cron on your linux client or any automator program.
posted by vacapinta at 11:29 AM on August 19, 2013

Response by poster: Thanks vacapinta. Yeah, I'm aware of iperf (and it's more user-friendly cousin, jperf), and I've heard of that cron thingy before. I just don't have the time or chops to get something like that up and running. I'm hoping for something more out-of-the-box that I can just install then gaze lovingly over the user-friendly daily reports.
posted by slogger at 11:33 AM on August 19, 2013

Actually looks like iperf has a '-i' option which tells it to run every x seconds. So you don't need cron.
And it has a '-v' option to set a reportstyle of CSV.

So, really, you have to just run it, read in the CSV with Excel and then create a pretty chart. Note: have not actually tried this out.
posted by vacapinta at 11:37 AM on August 19, 2013

Also JPerf may do exactly what you want- scroll down to see the screenshot. Note: also have not tried it.
posted by vacapinta at 11:38 AM on August 19, 2013

Do you know who is providing the actual data center infrastructure for your cloud provider? I've moved four business applications to the cloud, and in three cases the cloud provider was using Amazon Web Services behind the scenes; I think the fourth one is using RackSpace. My anecdotal experience with AWS is that they will happily provide you as much bandwidth as you can consume and charge you for it -- our servers were falling over from the load before the bandwidth became an issue. Perhaps you have some specific knowledge about the hosting set-up to make you worry about the bandwidth? If your cloud provider is using a large infrastructure provider to handle the hosting, "am I getting the bandwidth I'm paying for?" may be the wrong question to be asking.
posted by kovacs at 8:45 PM on August 19, 2013

Latency is more important than bandwidth. It determines the responsiveness for interactive applications, and imposes a limit on how much of the maximum theoretical bandwidth you'll actually be able to get.

My suggestion is that you look at SmokePing. It can keep track of latency to multiple targets, including the machines hosting your cloud applications. You'll be able to see whether your connection is up to snuf, or whether it gets backed up at certain times. Add MRTG to the mix and you can see whether latency spikes correspond with bandwidth utilization spikes. If they do, then either your ISP isn't giving you what you are paying for, or you need to pay for more (or do some traffic shaping/QoS). If the latency spikes happen when the bandwidth utilization is well below capacity then there is a bottleneck further away. MTR is useful for investigating responsibility for Internet problems, but it isn't a set-and-forget sort of tool. Instead I bust it out when I notice there is currently a problem.
posted by Good Brain at 1:00 AM on August 20, 2013 [1 favorite]

« Older Books and Movies that Connect Disparate Time...   |   Software for a small (church) library Newer »
This thread is closed to new comments.