At work we've been running into problems performing npm installs over a VPN. I'm suspicious that it relates to executing too many concurrent HTTP requests. This motivated me to create crapify, a tool which lets us experiment with throttling connection speed and concurrency.
Don't the OSX devtools have a GUI for doing this? Can't remember what its called, I don't have XCode installed these days, but I remember it being pretty nifty.
EDIT: its called the Network Link Conditioner and apparently you install it from within xcode now.
EDIT2: I have just learned that ipfw is gone in yosemite? How distressing. Did they replace it with something?
I think pfctl is the suggested replacement for ipfw, which was deprecated in Mavericks. I wrote the Comcast tool someone linked in this thread. Haven't had a chance to dive through the pfctl man pages to add support for Yosemite yet unfortunately.
This is cool. If it could add random NATing between various VLANs and occasionally not open firewall ports as configured, it would be a simulation of my work environment!
* captures performance data in the HAR format.
* blacklisting and whitelisting certain URL patterns
* simulating various bandwidth and latency
* remapping DNS lookups
* flushing DNS caching
* controlling DNS and request timeouts
* automatic BASIC authorization
* REST API
My main use-case is programmatically throttling the outbound concurrent connections to a VPN. Writing a small proxy server in Node.js seemed like a reasonable approach for this.