Iperf and PathTest: An Engineer’s Experiment
Conventional wisdom says that you can only see the true capacity of your network by flooding the pipe. Well, we already put a stop to that thinking (see PathView Cloud). However, we still understand that it is an effective method, if done right.
With PathTest, the latest free tool from AppNeta, we can flood your network with any kind of traffic you like. This can be done via TCP, UDP, or ICMP. We have covered all of the bases. You want to monitor the throughput of your network? Great, use PathTest. You want to monitor the throughput of an app (TCP or UDP Based). Great, use PathTest.
Once installed on a Windows or Linux system, PathTest is a simple command utility which is highly configurable. You can configure anything from protocol (TCP,UDP, ICMP) to port number, even QoS (!!!) settings. Additionally, you can specify the bandwidth you wish to test or just let it flood the pipe to its maximum possible capacity (warning – don’t do this on networks with production traffic – people will yell at you).
All of these configurations sound familiar to another command line utility, don’t they? What’s that called? Just kidding, I think all network engineers have used it.
Iperf is a well known tool for network flooding. One thing to keep in mind though is that Iperf’s base mode (and most effective) is TCP. In theory, this does not have any issues. However, a limitation is how “fast” Iperf can emit packets. Iperf is also extremely dependent on the processing power of the CPU/RAM as well as the back end algorithms of the command. This is evident in the monitoring of a GigE path from a Dell latitude laptop to another, both of which have Gigabit NICs. These were connected via a single Cat5e cable – no switch or any other network gear between the laptops. The throughput reported from Iperf was about 265Mbps in either direction.
This made me wonder “Is this accurate?” This is a perfect test case for our new PathTest tool. I compared the results against Iperf on the same exact hardware, operating system and network.
PathTest is designed to emit multiple packets with nanosecond precision, enabling a very high degree of accuracy while also requiring very low CPU usage (the latter a known issue with Iperf when testing on GigE-class networks). With PathTest, a Dell Latitude laptop showed a slightly different result – about 922Mbps to be precise.
For sure, 600Mbps a drastic difference – which one is telling the real story?
Luckily, AppNeta also offers a non evasive, light-weight monitoring tool for such discrepancies. The PathView component of the PathView Cloud suite is designed to see the actual layer 3 and/or layer 4 throughput between an IP-based source and destination pair. When run on the same exact network as the flooding tools, PathView Cloud reported a capacity of about 920Mbps – identical to the PathTest results.
In conclusion, we had two different techniques report well over 900Mbps of throughput on a GigE network and a single tool reporting 300Mbps. The test scenarios were identical (see command line screen shot above).
Merry Flooding and Happy Holidays!
Filed Under: performance monitoring
Tag: PathView Cloud