I have pretty crappy uplink bandwidth at my home – somewhere around 0.5 Mbps (which is NOT kp/s or MB/s). As a result, it’s pretty easy to choke my upward bandwidth by setting Google Music to “Fastest Possible”. I can set it lower – but say when I’m at university with a 250Mbps upspeed connection (over wifi!), I don’t want to be limited to a tenth that. What I needed was an external program to configure the speed at each runtime.
trickle is that program for *nix systems. It’s a commandline program, but that’s okay.
I installed trickle, then use this command to run Google Music (which is set to use “fastest possible”) when I have limited bandwidth:
trickle -s -u 20 /opt/google/musicmanager/google-musicmanager
This limits the upward bandwidth to 0.2Mbps, which works well for still being able to use my internet connection. Then the rest of the time I use the default command to take advantage of the higher internet speeds elsewhere.
This isn’t a vital thing to use with Google Music – as mentioned, the Music Manager has built-in rate limiting. It’s not quite what I want, but it’s not bad. But I mention it – and the syntax – because other programs don’t have that kind of limitation. You can use trickle with just about any program when you need it. Pretty awesome stuff.