I'm a software developer and I often need to test programs under less-than-optimal network conditions to emulate my client's environment. Does anyone have any suggested utilities or techniques I can use to simulate poor network conditions between my desktop and my vmWare installations. or is that strictly a vmWare server sort of thing? Could I use other virutalization methods to do this, like HyperV? I don't want to switch my development workstation over to a server OS, but I could install a vmWare machine that could do this (if that sort of thing is even possible).

I have some older machines as well, so I could do this physically but it'd take some time to setup and configure, and I'd really like to be able to do this using virtual technology since I'd very likely need to change things around for different clients.

You could use the inbuilt Traffic Shaping functions built into VMware ESXi, which can be applied to vSwitches, or virtual machines portgroups, we use this functionaility, to conduct WAN based tests to Development Websites, and code for clients.

I've installed ESXi 5.0 as a virutal machine in vmWare Workstation 8.0. I then used vSphere to connect to the ESXi server, and have installed a virtual machine on the ESXi server, and that vm is running Windows Server 2008. From there, I can use vSphere to do the traffic shaping.

The ESXi and vSphere components are free, it would seem (although you should read up on this to be sure you comply with licensing). When you sign up for the account and download, you'll receive a license key. It was quite confusing where I should enter the key, but I finally found it.

To enter that license in vSphere, you do this:

1) Open the vSphere client, and connect to your ESXi host2) Select the host, and click the Configuration tab3) Click the "Licensed Features" item in the Software listbox on the left side4) Click the "Edit ..." button