Free WAN emulator
Mercury has just announced that they will no longer be re-selling the Shunra WAN Emulator. This means that I can let you in on a little secret - you can get most of the WAN emulation features for free by using a simple open-source program.
As performance testers, we know that an application operating over the network will perform poorly if there is not enough bandwidth available. We also know that response times for some applications are more affected by latency than others no matter how much bandwidth you have (eg/ an interactive multiplayer game like Quake is playable over a 56k modem, but completely useless over a satellite link that has 10 times the bandwidth). Sidenote: a good job interview question for a performance tester might be to explain the difference between latency and bandwidth, and its impact on application performance.
Load testing with bandwidth limitations is easy; LoadRunner gives you this feature for free. Latency is harder as it requires either a real WAN link, or something to introduce an artificial delay. An artificial delay can be introduced by a black box that you plug into your network (like those offered by Anue, East Coast DataCom, and Apposite Technologies) or by a piece of software like the Shunra WAN Emulator.

The free alternative to Shunra’s software is Dummynet, which was created by an Italian academic researcher.
Unfortunately Dummynet only runs under FreeBSD, but a tiny version of FreeBSD with Dummynet that fits on a bootable floppy disk is available for download. Personally, I haven’t seen a floppy disk for years and I don’t quite trust that FreeBSD (let alone a tiny version of FreeBSD) will support the variety of hardware it will encounter.
My preferred solution is to install FreeBSD as a guest operating system inside VMware. The hardware in the virtual machine is virtualised, so you don’t have to worry about driver support, and it is easy to distribute a VMware image between computers. The only other thing you will need to do is to set up a second network card in your computer and add it to the virtual machine.
The good thing about this solution is that it makes it easy to demonstrate latency and bandwidth-related performance problems manually, rather than expecting people to just accept your tool’s measurements. The only tricky part may be getting permission to plug your laptop into the network (or install the software) at a client site.

November 3rd, 2006 at 11:11 am
Two alternatives to the bootable floppy distribution are FreeBSD live CDs. Check out Frenzy LiveCD and FreeSBIE.
If you are testing a web-based application, you could use a proxy with a configurable delay (can anyone help me out with a link here?).
November 3rd, 2006 at 1:45 pm
this is cool.. gonna have to give it a try. i like the idea of a virtualized bandwidth emulator, thanks.
November 4th, 2006 at 6:31 am
Shunra has commercially proofed tools from $499. See http://www.shunra.com
November 4th, 2006 at 7:09 am
I have a similar setup where I work, on this setup I have registered a number of IP addresses for the virtual NIC and incoming/outcoming tcp/ip traffic has its own queue, this gives me the option to quickly switch between different bandwidth setups.
On top of this I have a Squid proxy so I quickly can try different setups without changing NIC configuration on my local computer, just to make it a tad easier.
November 5th, 2006 at 2:01 pm
My understanding is that for free you can limit bandwidth for individual user. You can’t, for example, simulate a bandwidth restriction for a branch (a group of users) that is a common case for corporate applications.
November 6th, 2006 at 9:11 am
Bob (with an @shunra.com email address),
it’s great that a company like Shunra is keeping an eye on the technical blog community.
People should note that Shunra offers a free 5-day trial of VE Desktop. If you want to simulate the properties of your network on a Windows, Shunra is a good option.
Henrik,
excellent tips. Thanks for the comment!
Alexander,
You are correct that the “speed simulation” in the runtime settings is for individual users. I should have noted this in the post.
November 7th, 2006 at 1:09 am
Great post! Another wonderful use for VMware.
May 25th, 2007 at 5:48 am
This is nice, but if you have to use VMWare, then you have to buy VMWare, and then this solution is no longer free, is it?
June 9th, 2007 at 12:38 am
Load testing with bandwidth limitations is easy; LoadRunner gives you this feature for free.
This is only true for individual vuser bandwidth limitations. LoadRunner limits the bandwidth per vuser. It has no option to limite the combined bandwidth of a group of vusers. Thus a reason in addition to delay emulation for needing some external WAN emulation.
July 10th, 2007 at 2:34 am
Very cool idea. Do you know if there is a virtual appliance available for download with FreeBSD and Dummynet preinstalled?
November 8th, 2007 at 2:29 am
Brent: VMWare offers some free products and a free alternative is Microsoft’s Virtual PC.
February 27th, 2008 at 4:00 pm
I have found alternative here:
http://www.xpidea.com/Products/tabid/53/ProductID/19/Default.aspx
Although, this product does not have all of the bells and whistles Shunra has, latency and bandwidth emulation is all I need. Good product!