Wer seinen nicht privilegierten usern kein schnelles Internet bieten will/darf bzw. den kleinen oder grossen Bruder disziplinierenwill, der kann trickle mit einem Proxy (z. B. privoxy) und einem Paketfilter/Firewall (z. B. iptables) benutzen. trickle kann auch auf einzelne Prozesse/Anwendungen (z. B. mit ncftp, ncftpget, ncftpput geht es) angewandt werden, aber nur wenn sie dynamisch gelinkt sind, und das sind die wenigsten in Freetz, deshalb der Umweg über den Proxy.
privoxy mit trickle starten:
Ein download mit trickle:Code:trickle -s -u 20 -d 100 /var/mod/etc/init.d/rc.privoxy start
Ein download ohne trickle und ohne privoxy:Code::~> wget -e "http_proxy = http://192.168.127.253:8118" http://speedtest.netcologne.de/test_10mb.bin --2010-02-21 10:07:58-- http://speedtest.netcologne.de/test_10mb.bin Verbindungsaufbau zu 192.168.127.253:8118... verbunden. Proxy Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10485760 (10M) [application/octet-stream] In »test_10mb.bin« speichern. 100%[==========================================================================================================================================>] 10.485.760 20,2K/s in 8m 53s 2010-02-21 10:16:51 (19,2 KB/s) - »test_10mb.bin« gespeichert [10485760/10485760]
Und die Box freut sich auch. Die Belastung der Box beim download mit trickle:Code::~> wget http://speedtest.netcologne.de/test_10mb.bin --2010-02-21 10:29:49-- http://speedtest.netcologne.de/test_10mb.bin Auflösen des Hostnamen »speedtest.netcologne.de«.... 87.79.12.102, 87.79.12.103 Verbindungsaufbau zu speedtest.netcologne.de|87.79.12.102|:80... verbunden. HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10485760 (10M) [application/octet-stream] In »test_10mb.bin« speichern. 100%[==========================================================================================================================================>] 10.485.760 2,05M/s in 5,5s 2010-02-21 10:29:55 (1,81 MB/s) - »test_10mb.bin« gespeichert [10485760/10485760]
Ein download ohne trickle, aber mit privoxy:Code:564 504 root S 2500 8% 6% privoxy --pidfile /var/run/privoxy.pid /mod/etc/privoxy/config
Die Belastung der Box beim download ohne trickle aber mit privoxy:Code::~> wget -e "http_proxy = http://192.168.127.253:8118" http://speedtest.netcologne.de/test_100mb.bin --2010-02-21 10:43:23-- http://speedtest.netcologne.de/test_100mb.bin Verbindungsaufbau zu 192.168.127.253:8118... verbunden. Proxy Anforderung gesendet, warte auf Antwort... 200 OK Länge: 111149056 (106M) [application/octet-stream] In »test_100mb.bin« speichern. 100%[==========================================================================================================================================>] 111.149.056 786K/s in 2m 20s 2010-02-21 10:45:43 (778 KB/s) - »test_100mb.bin« gespeichert [111149056/111149056]
Mit den Dateien im Anhang kann man trickle mit Freetz für die Box kompilieren und installieren. Die Lösung mit der lib-Datei ist noch nicht optimal, aber sie funktioniert. Und so hat die trickle.mk-Datei auch weniger Zeilen.Code:1275 3374 root R 2196 7% 90% privoxy --pidfile /var/run/privoxy.pid /mod/etc/privoxy/config
EDIT:
Im Anhang jetzt auch die Version 1.07 für trickle. Meine bisherigen Erfahrungen: Für den download zählt die Angabe für "-u". Die Angabe bei "-d" sollte etwas größer sein als bei "-u".
EDIT 2:
Im Anhang auch ein optimierter Patch (libdir und confdir angepasst, ohne symlink auf die Library) auf den Trunk 4372:
Stichworte für die Suche: traffic, bandwidth, shaping, shaper, limiter, throttling, bandbreitenbegrenzung, bandbreite, drosseln, begrenzen
EDIT 3:
trickle ist jetzt im trunk, gefixt und committet von er13. Nach der Umbauaktion im trunk, können alle Anwendungen die die libcrypto benutzen, auch dynamisch gelinkt werden und funktionieren mit trickle. Hier ein Beispiel für einen gedrosselten download mit wget auf der Box (nicht über einen proxy):
Auslastung der Box (aus top):Code:# cd /var/media/ftp/uStor01 /var/media/ftp/uStor01 # trickle -s -u 50 -d 70 wget http://speedtest.netcologne.de/test_10mb.bin --2010-03-06 22:54:02-- http://speedtest.netcologne.de/test_10mb.bin Resolving speedtest.netcologne.de... 87.79.12.103, 87.79.12.102 Connecting to speedtest.netcologne.de|87.79.12.103|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10485760 (10M) [application/octet-stream] Saving to: `test_10mb.bin.1' 100%[==========================================================================================================================================>] 10,485,760 52.6K/s in 2m 59s 2010-03-06 22:57:00 (57.4 KB/s) - `test_10mb.bin.1' saved [10485760/10485760]
E D I T: ACHTUNG:Code:2660 1901 root S 3028 10% 2% wget http://speedtest.netcologne.de/test_10mb.bin
trickle gibt es jetzt im trunk. (klick) Bitte die Dateien/Patches aus dem Anhang nicht mehr benutzen. Danke.


will, der kann
Zitieren

