Throttle
Uses ipfw on Mac OSX to simulate slower connection speed.
Purpose
Many times I've found myself needing to test applications on slower connections. However, that is never an easy task. Throttle allows you to simulate a slower connection by allowing you to specify an exact bandwidth you would like to experience.
Development
At the moment the code is REAAAAAAL ugly and needs much improvement. There are also a lot more features I would like to add. Mostly being able to specify source and destination ip:port so you can filter which traffic will be throttled. Also the ability to have multiple filters going at once. Right now you can only have one.
Usage
Prerequisites
- Mac OSX 10.5, 10.6, 10.7
- ruby >= 1.8.7
- rubygems
Installation
gem install throttle
Getting Started
From the command line:
Start throttling
Limit traffic to 100 Kilobits per second
throttle limit 100Kbps
Current Status
List all current limits in place.
throttle status
Remove all limits
throttle reset
Bandwidth
Bandwidth must be specified in [Kilo/Mega][bits/Bytes]/s.
- 500Kbps - 500 Kilobytes per second
- 1MBps - 1 Megabyte per second
IPFW doesn't allow bandwidth greater than 268 MBps.