Is there a linux command/tool that will provide end-to-end bandwidth information between local and external host?

Posted on

Is there a linux command/tool that will provide end-to-end bandwidth information between local and external host? – Managing your servers can streamline the performance of your team by allowing them to complete complex tasks faster. Plus, it can enable them to detect problems early on before they get out of hand and compromise your business. As a result, the risk of experiencing operational setbacks is drastically lower.

But the only way to make the most of your server management is to perform it correctly. And to help you do so, this article will share nine tips on improving your server management and fix some problem about linux, networking, bandwidth, , .

CentOS 5.x

At times, I’ve wanted to know what general bandwidth constraints exist between my servers and an external server that I don’t have control over. Is there a linux command/tool that could provide this information?

Historically I’ve used tools like wget and scp to get a rough estimate from transfer speed summaries (in situations where the remote server is providing publicly accessible files). Is there anything else? I would assume not since there would likely be security repercussions in freely disclosing that information.

Solution :

Check out iperf (http://iperf.sf.net). It has a client/server architecture.

The basic idea is that you have a server on one side of your network path, and one or multiple clients trying to connect to it. It has multiple options like TCP or UDP, single flow versus several flows, daemon mode, etc. I have been using it for testing bufferbloat, sustained bandwidth, MTU size, network loss and several other things.

It also has support for Jumbo Frames and IPv6.

This assumes that you have root access on both sides, of course. If that’s not the case, could you give us more information about your setup?

You should be able to get packages for CentOS 5 from http://pkgs.org/centos-5-rhel-5/epel-x86_64/iperf-2.0.5-1.el5.x86_64.rpm.html for example, I think they come from Fedora.

Not directly a bandwidth monitor per se, but you could give

traceroute

a try. It will produce a list of where your packets go through to reach its destination, and you will not need any access to any of those hops in between. Ping values in the list it produces are often indicative of where the bottleneck, or problem, is.

[user@host ~]$ traceroute www.google.com
traceroute to www.google.com (173.194.78.99), 30 hops max, 60 byte packets
 1  209.85.254.92 (209.85.254.92)  74.644 ms 209.85.255.70 (209.85.255.70)  113.783 ms  113.753 ms
 2  209.85.240.221 (209.85.240.221)  118.487 ms  118.437 ms  118.395 ms
 3  72.14.236.191 (72.14.236.191)  115.771 ms 216.239.49.45 (216.239.49.45)  116.268 ms 209.85.251.231 (209.85.251.231)  161.010 ms
 4  * * 72.14.236.191 (72.14.236.191)  114.160 ms
 5  wg-in-f99.1e100.net (173.194.78.99)  160.352 ms  162.327 ms  163.890 ms

Same command exists on windows systems as:

tracert

I know that is not exactly what you asked, but, what you asked, ie, learning bandwidth values between each of those hops, cannot be done. Because of privacy issues, if nothing else.

Leave a Reply

Your email address will not be published. Required fields are marked *