Throttle Application bandwidth by Process, not by port or host
October 31, 2013 8:08 PM   Subscribe

I'm using Bitcasa to back up things, but it doesn't have builtin bandwidth upload throttling. So consequently it sucks up all the bandwidth and the entire houses network comes to a stop. This also happens to make browsing the web impossible. This would be easy to do if Bitcasa used a nonstandard port, but it uses 433 to upload to Amazon's EC. I have other applications that also need full bandwidth to EC (intermittently), so throttling those domains won't work either. What I really need is an application specific throttling App . Help? (OS X ML).
posted by Brent Parker to Technology (7 answers total) 2 users marked this as a favorite
 
I've not used it myself, but I think that Throttled might do what you want.

It's geared towards optimizing online games but should do what you want as well, at least on casual inspection. There's both a GUI and CLI version (you probably want the former) and it's open source.
posted by Kadin2048 at 8:17 PM on October 31, 2013


Response by poster: Throttled is just a front end for ipfw. ipfw allows shaping based on port and host, not by application. =/

In case anyone is looking for ipfw/PF frontends, there are a few others to look at as well icefloor for PF and waterroof for ipfw. But both of these, again, don't allow shaping based on application - which is the criteria I'm trying to meet.
posted by Brent Parker at 9:28 PM on October 31, 2013


You can also throttle based on soure IP, can't you? Can You add a second IP on a virtual interface and force Bitcassa to bind to that iP somehow?

Alternatively, do you have to solve this on your computer, rather than the router? OpenWRT Attitude Adjustment does a pretty good job with upstream QoS with no configuration beyond checking and then setting your actual upstream bandwidth. Since I started using it I've stopped throttling long uploads, like my offsite backup, because it doesn't get in the way any more. I can fill the upstream pipe and yet pings still maintain the same latency as an unloaded connection
posted by Good Brain at 1:38 AM on November 1, 2013


Actually, perhaps simpler than setting up a secondary IP, use lsof to figure out what port bitcassa is using for the source-port when talking to amazon, then match on that source-port.
posted by Good Brain at 1:46 AM on November 1, 2013


Can you edit QoS settings in your router? If so, limit connections to EC to a specific percentage of your bandwidth (say 5 to 75%, for example). This should still give it the option of grabbing a lot of outgoing bandwidth without allowing it to use everything.
posted by caution live frogs at 7:50 AM on November 2, 2013


Response by poster: Good Brain - Which router are you using? I'd like to take the Attitude Adjustment route (it would probably solve other problems), but I'm not sure which I should get (and could also sit behind a UVerse modem).
posted by Brent Parker at 7:35 AM on November 6, 2013


I'm running OpenWRT on two Netgear routers, a WNDR3700 & WNDR3800, which are basically the same hardware. It works very well.

Unfortunately, I think the 3800 is discontinued and the 3700 has had a major hardware revision so it effectively a different router from what I have.

I'd suggest checking out the list of supported hardware. I think there are some TP-Link routers that people find to be a good deal. Pay close attention to hardware versions though.
posted by Good Brain at 8:07 PM on November 6, 2013


« Older Wanted: Erudite, epigrammatic writers of...   |   I need monitor nipples? What are they called and... Newer »
This thread is closed to new comments.