Traffic shaping express
Et concrètement ?
Question 1 :
- comment limiter la vitesse d’upload de
ftplorsque je « pousse » sur mon serveur un gros fichier, ce qui rend ma connexion quasi-inutilisable pendant ce temps ?
Réponse :
$ trickle -s -u 5 ftp
Explication :
ma ligne au boulot dispose d’un upload de 64 Kbit/s, soit 8 KB/s. Je vais limiter fortement mon upload ftp à 5 KB/s, pour ne pas saturer le lien montant et permettre un trafic descendant normalement fluide dans le même temps.
trickle est appelé avec l’option -s, pour « standalone ». Il est en effet possible de lancer un serveur trickled, gérant les limitations de plusieurs programmes, comme on le verra.
Démonstration :
$ trickle -s -u 5 ftp ftp.electronicforest.net
Connected to ftp.electronicforest.net.
220 "electronic forest secure ftpd server"
Name : mylogin
331 Please specify the password.
Password: ***
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put bigfile.tar.bz2
local: bigfile.tar.bz2 remote: bigfile.tar.bz2
200 PORT command successful.
150 Ok to send data.
^c
send aborted
waiting for remote to finish abort
226 File receive OK.
583680 bytes sent (5.2 Kbytes/s)
ftp> 221 Goodbye.
Et pendant le temps de l’essai, ma connexion ssh ouverte simultanément n’a pas connu de ralentissement notable :)
Question 2 :
- Comment simuler une connexion par modem pour tester le comportement de mon nouveau site ouaibe, visité via un ancien modem 56K ?
Réponse :
$ trickle -s -d 6 firefox-bin
Explication : les modems anciens 56 K (norme V92, si je ne dis pas d’âneries) n’atteignent pas ce débit. En fait, ils plafonnent aux environs de 50K, et il s’agit de Kbit/s... :) Donc, en fait, environ 6 KByte/s
Le test a quelque chose de réjouissant, et rappelle de bons —et pas si anciens— souvenirs...
A titre personnel, ayant installé firefox dans un directory local, j’ai également dû préciser le chemin des bibliothèques (d’habitude, les scripts firefox et run-mozilla.sh se chargent de lancer firefox avec un environnement approprié).
La commande passée est alors :
$ cd firefox
$ LD_LIBRARY_PATH=./ \
trickle -s -d 6 ./firefox-bin
Mêmes effets :)
Au quotidien, ce petit programme permet de gérer souplement les problèmes de limitation de bande passante, nous allons en voir quelques exemples...
notes
[1] Le site d’origine de libsafe ne semble plus répondre, et le projet freshmeat est abandonné
