HOWTO: Improve your DL Speed
Posted: September 21st, 2010, 10:47 am
Here is a way for people like me to improve DL speed if you are willing to throw money at it.
Usually people tell you to get a faster link, but that does not work if you already have the fastest link available in your country. In my case the maximum I can get is 1Mbit/s.
So What I did was get a second DSL link at 1Mbit for a theoretical aggregate bandwidth of 2Mbit which might not sound like much but now I should have enough bandwidth to retrieve in real time, that is a 1/2 hour episode takes approximately 1/2 an hour to DL.
The problem is however SAB has no ability to spread traffic over multiple interfaces, due to the fact that the python library for handling news doesnt seem to have that ability (at least on first glance) and its a low priority feature so its not worth throwing development effort at it, and having solved the problem to my satisfaction below would agree with it, a general solution inside SAB to route over multiple interfaces would be non trivial. The answer of course, which seems obvious to me now but took me a few days to arrive at, is to use destination based routes (I am using Linux, how you do this on Win or Mac is unknown to me).
Basically all you need to do is:
1. Get an account on 2 DIFFERENT news servers. [2 accounts total for 2 network connections].
2. Setup your second network port so it works and you can send stuff through it by doing something like:
Basically what this does is makes routes and rules that mean if you use a source address of 192.168.2.*** it will route through gateway 192.168.2.254 and if you use a source address of 10.0.0.* it routes through gateway 10.0.0.1 both of which are separate dsl boxes
Then you set up a route to make one of your news servers always route over your second link. Assume eth0 is your default link that all other internet traffic goes over and you want to route giganews over eth1 all you need to do now is:
now start SAB again.
If everything is ok all traffic to and from giganews will run over eth1 and traffic to and from your other news server will be over eth0
For this to work each server needs a unique name. This scales so you could have 4 Internet connections and route to 4 different news servers. starts to get costly but the choice is there and it scales up perfectly. This could even save money in some cases because sometimes its cheaper to get 2 internet connections than 1 that is twice the speed or has twice the bandwidth allocation.
To adapt to your own circumstances change server names, ip's, etc. Hope this helps someone.
PS. I would like to put this Howto up on the Wiki manual in the howto's but its read only
Usually people tell you to get a faster link, but that does not work if you already have the fastest link available in your country. In my case the maximum I can get is 1Mbit/s.
So What I did was get a second DSL link at 1Mbit for a theoretical aggregate bandwidth of 2Mbit which might not sound like much but now I should have enough bandwidth to retrieve in real time, that is a 1/2 hour episode takes approximately 1/2 an hour to DL.
The problem is however SAB has no ability to spread traffic over multiple interfaces, due to the fact that the python library for handling news doesnt seem to have that ability (at least on first glance) and its a low priority feature so its not worth throwing development effort at it, and having solved the problem to my satisfaction below would agree with it, a general solution inside SAB to route over multiple interfaces would be non trivial. The answer of course, which seems obvious to me now but took me a few days to arrive at, is to use destination based routes (I am using Linux, how you do this on Win or Mac is unknown to me).
Basically all you need to do is:
1. Get an account on 2 DIFFERENT news servers. [2 accounts total for 2 network connections].
2. Setup your second network port so it works and you can send stuff through it by doing something like:
Code: Select all
ip route flush table 10
ip route add default via 192.168.2.254 dev eth0 table 10
ip rule add from 192.168.2.0/24 table 10
ip route flush table 20
ip route add default via 10.0.0.1 dev eth1 table 20
ip rule add from 10.0.0.0/24 table 20
Then you set up a route to make one of your news servers always route over your second link. Assume eth0 is your default link that all other internet traffic goes over and you want to route giganews over eth1 all you need to do now is:
Code: Select all
sudo route add -host news.giganews.com gw 10.0.0.1
If everything is ok all traffic to and from giganews will run over eth1 and traffic to and from your other news server will be over eth0
For this to work each server needs a unique name. This scales so you could have 4 Internet connections and route to 4 different news servers. starts to get costly but the choice is there and it scales up perfectly. This could even save money in some cases because sometimes its cheaper to get 2 internet connections than 1 that is twice the speed or has twice the bandwidth allocation.
To adapt to your own circumstances change server names, ip's, etc. Hope this helps someone.
PS. I would like to put this Howto up on the Wiki manual in the howto's but its read only