High-Capacity Bandwidth Testing Software?
An anonymous reader asks: "I work for an ISP which specializes in high bandwidth (100+ megabit) fiber-based delivery solutions. As with any other ISP we sometimes have to perform troubleshooting with customers who are reporting slow throughput. We currently have a home-grown bandwidth testing server in order to point-to-point test the throughput across our own network. Unfortunately (fortunately), customers have begun purchasing amounts of bandwidth that are capable of exceeding our testing capacity. Given a multi-gigabit network infrastructure and an on-net server with a gigabit Ethernet port, what software packages are available which can reliably test throughput approaching one gigabit? Cross-browser compatibility and 'click-here-to-test' usability should be considerations."
Given a multi-gigabit network infrastructure and an on-net server with a gigabit Ethernet port, what software packages are available which can reliably test throughput approaching one gigabit?
You need a fast computer with a large hard-disk and a gigabit ethernet card, tcpdump, a shell, and 12000 monkeys to read the logs.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
But I'd start with something like pchar, which will tell you the effective bandwidth at each hop on the network. That will tell you how severe the blockage is and, more importantly, where. It's not the "best" tool out there, but it's reasonably non-intrusive (unlike most stress-testing tools) and I've not seen any obvious problems with it at gig speeds. It does need patching for Linux, though. I sent a patch to the maintainer who has sworn he'll someday get around to including it. NetBSD has a faster network stack, though, and is more suitable for such tests. Which I hate, as I prefer Linux, but facts don't change themselves to suit a like.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Put a stash of porn at one end of your network and a slashdotter at the other. That should max out the link.
The End to End Performance Initiative has a knoppix live CD image you can download that includes test tools that may help. I'm in the process of deploying these tools around my network now.
o lkit.html is the URL.
I've not tried to push a full gig with them (yet), but they seem to work better than anything else I've found so far...
http://e2epi.internet2.edu/network-performance-to
Sig??? I don't need no stinkin Sig!
Cross-browser compatibility and 'click-here-to-test' usability should be considerations.
Clicking on an infected email attachment should saturate the bandwidth and test the infrastructure thoroughly. Cleaning up the post-testing mess can be painful.
TPTest http://sourceforge.net/projects/tptest/, an open source test suite from "Post och Telestyrelsen" http://www.pts.se/, a division of the Swedish goverment. Even a 200 MHz Pentium MMX running Linux could test a 100MBit/s fiber reliably.
http://dast.nlanr.net/Projects/Iperf/
http://sourceforge.net/projects/Iperf/
Very configurable, and if u want GUI or network tuning.. read the FAQ, they give suggestions.
-- Robi
The swedish consumer agency has coded a test for bandwidth testing. It works as far as I know up with 1GB connection, but could probably work with much higher speeds. The project is open source.
http://sourceforge.net/projects/tptest/
It's a great tool that many of the ISP's in Sweden asks there customers to use before reporting in bad *DSL bandwidth.
If you're serious about it, you basically need to give in and spend serious $.
The main game in town is Spirent.
In the IPS & firewall testing world, they're what everyone uses, but even in lots of load balancing applications etc they're what people use.
There are a few software solutions around that do an ok job, but very few that can do much at decent speed (ie > 400Mbit). I have a pretty crack team of devs, and using hand tuned open source, and home-spun apps, we got by for a few years, but should have given in years earlier and just got a set of Spirent gear. You'll save time.
Their Smartbits line are basically hardware based packet generators, able to blast away for a variety of scenarios.
Their Avalanche line are hardware based full session generators, so you can re-create a web server being hammered by thousands of clients. I just signed a cheque for > $100k for a single pair of avalanche boxes however, so bring your cash box...
You'll probably find Spirent's hw based solutions frustrating, but if you work with others doing similar work they're very widely used, and you can exchange scripts etc..
There is an Irish company that was moving in to this space, and had an ok product, but it was a bit immature when I last tried it. Sorry, but their name escapes me- google should know.
--Q
BreakingPoint Systems makes network test hardware that can go way beyond 1 Gbps simulations. You can also capture and recreate traffic at high speeds to better simulate a specific users load.
Ping!
Deleted
If you had included a link to one of your web sites with your submission, then you'd already be done.
(Found somewhere on bash.org) :).
Oy! Maybe my job does rock.
Da Fluke network tester (a $6000 Gameboy wannabe) was broken today since someone took the lithium batteries out of it and neglected to put them back in the case.
We had to test out the connection between floors 2&4, going through floor 3 in the process.
so I tell da b0ss that the Network tester is dead... And I need to generate network traffic so I can see the stats on the switches and routers, make sure no packets are being killed prematurely.
So he sayz "How much is that tester worth?", I say "6K". He says "Great!".
he picks up his office phone, hits the global annoucement button, and says "Floors Two, Three, and Four, our IT Admin requires that you generate network traffic for equipment testing. Grab Half Life off my network share, I'll host". He hangs up and says "Happy?", I say "that works".
The rest of the afternoon was dedicated to a rather large Half Life MP game on Crossfire
and i bet most PCs aren't capable of it either.
your best bet IMO if you don't want to give the customers any special kit is to host a largeish file on a powerfull server with a good server class PCI-X or PCI-E gigabit ethernet card. Then get them to download it from multiple machines at once. You can then measure the traffic going out of the server (either with software on the server or with your existing infrastructure equipment).
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Just a couple of weeks ago I needed something to just check LAN speeds, not going out on to the Internet at all. I downloaded a free (not open source, though) bandwidth speed test from http://www.ixiacom.com/ called Qtest. For free, I thought it was awesome. I don't know if it will do gigabit speeds, but if this software is reflective of the rest of the company's products, it may be a company that can help you.
What Qtest does is let you set up a test server at each end of a pipe. Then you can run tests between the two sites. But the kick-ass part is that you can set it up at different locations and run the tests point-to-point from any of the servers to any of the servers. You can also choose the type of test, sending TCP or UDP data.
Only thing that kind of concerned me is security, as you are loading yet another server at multiple locations.
Transporter_ii
Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
For testing bandwidth I use Netperf. It's free, extremely customizable in the type of data sent (TCP/UDP streams, packet size, IPv4/IPv6, etc), and quite accurate. The program has no trouble generating enough traffic for a 1Gb link, and it's worked well over 10Gb links too. There's no GUI to it, but setting up a script to start it and report the results is pretty trivial.
As a start, read this paper:
The Spectrum of Internet Performance
http://en.scientificcommons.org/574473
In the paper the authors argue that by dividing the average packet round trip time (e.g. ping time) by the theoretical round trip time required by an electromagnetic signal over the equivalent distance, results in a dimensionless value that measures the quality of your connectivity to a particular point in the Internet. Cleverly averaging these values for a large number of points gives you a measure for how good your Internet connection is.
Admittedly this is not your exact problem. You're more interested in bandwidth measurements. That said, getting an absolute band measurement for a particular instant in time is probably not going to completely satisfy your customers. And worse you probably want to word your client's contracts so that you actually understand and can deliver on the performance guarantee that you make.
You might want to contact Roberto Percacci who is one of experts in the field. He started Europe's first (or at least one of the first) bandwidth exchanges and was instrumental in improving the transparency of bandwidth measurements and performance guarantees. I believe he does consulting in the field and if not, he can at least point you in the right direction. (In fairness, I must admit I'm a friend of his, we met in the mid-80s at MIT when he was doing his post-doc there.)
BTW: Googling on 'percacci internet performance' brings up a number of references to papers that cite Percacci's original paper. You might want to read some of them too.
Good luck!
---- It won't be as bad as you fear or as good as you hope, but it will take twice as long as you plan.
For quick testing customer connections I setup an NDT server. http://e2epi.internet2.edu/ndt/
It works great in Firefox, but requires a real java installation. The last time I checked, it didn't work at all in IE. My laptop with an integrated Gig-E port gets about 800megs in and 200megs out running XP and 800megs in and 600 megs out running linux. On a shared Gig-E connection here in the office it's usually within a meg or two on repeated tests. I figure that's close enough for testing 10-100meg customer connections. At customer sites it can usually give me the link CIR to within a meg or two. And it'll point out probable duplex mis-matches too.
For more extensive testing we have Ixia Chariot and a pair of their chassis. http://www.ixiacom.com/
It's expensive and has lots of options. The Voip and QoS modules are coming in very handy right now, but we've had a lot of trouble with support since Ixia took over from NetIQ. The hardware is impressive but they've got Windows XP embedded on it to run the embedded linux systems that run the ports. The software endpoints are available for a variety of OS's. The pricing is based on the number of concurrent pairs you want to use for testing. I'm still not happy about how much we spent (and still spend on maintenance) for this stuff, but my PHB likes the pretty graphs so I guess that's all that really matters. We mostly use it for multi-hour validation testing when new sites and links get installed and sometimes when we need to verify that a vendor has in fact upgraded the bandwidth on a circuit.
Well, rather than re-invent the wheel why not use one of the various testing applications out there, like Acterna (now JDSU) T-Berds. That is what you need.