Edit 13/01/2010 : Article osolète, se référer à cet article Configuration du client torrent Deluge via l’interface WebUI



 Suite de l’article sur la configuration de Deluge, après les configurations basique on va attaquer les configurations qui impactent directement les performances du téléchargement.

Le web est assez peu loquance concernant ces dernières, la règle d’or semble « essayer et vous verrez », en gros cela semble très empirique.

Je vais ici indiquer ma configuration et les quelques liens/pistes qui m’ont permis d’y arriver…



Configuration de la bande passante (Bandwith)

Pour commencer la paramétrage de la bande passant il faut d’abord connaitre les caractéristiques réelles de votre ligne.

Pour cela il existe divers services :


En ce qui me concerne je suis chez free en degroupage total à 2374 mètres du DSLAM et 34 dB  d’affaiblissement.

Voici mes débits (en kbit / s) :

  Download  Upload 
Speedtest   6630 810 
Ariase  6937 860 
JDN  5692 513

 Je retiendrais 6000 kbits/s soit 750 ko/s en download et 800 kbits/s soit 100 ko/s en upload.


Rques :

  • Vous pouvez faire le test plusieurs fois de suite, vous verrez les résultats varient
  • Pensez à éteindre la fonction TV de la freebox
  • Faite le test après un reboot de la freebox, là aussi les résultats peuvent être surprenant (du simple au double dans mon cas)
  • Attention à la conversion kbit – ko, 1 octet = 8 bits
  • Attention (bis) nos amis les anglais ne parlent pas de ko (kilo octet) mais de kByte


On pourra ensuite utiliser cet outil pour trouver les différents réglages, il suffit de rentrer son débit en upload et il calcul les paramètres « optimals ».



Rque : la pluparts des paramétres suivants servent à paramétrer libtorrent.

Libtorrent est une bibliothèque open-source écrite en C++ destiné à mettre à disposition des fonctions de téléchargement sur le réseau torrent, cette bibliothèque est utilisée par de nombreux clients torrent (cf. ici) dont Deluge.

Dans la suite j’ai pour certain paramètres Deluge indiqué le nom du paramètre libtorrent correspondant, il vous sera alors possible d’aller sur cette page d’y chercher le paramètre indiqué pour avoir une description plus technique et complète (en anglais)



Global

Bandwith \ Global

Rque : sur cette copie d’écran le paramètre que j’utilise ou moment où j’écris ces lignes (16/06/2009), mais je compte bien le changer pour me rapprocher du paramétrage calculé ci-dessous.


Maximum connections

Nombre maximal de connexion ouverte, tous torrent confondu, il est difficile de trouver un règle calcule, la seul trrouvé est celle utilisé dans le calculateur Azureus :

Nombre maximal de connexion = (débit upload (en kbit/s) ^ 0.8) + 50

Dans la limite de 1200 connexions.


Dans mon cas cela donne 260.


Dans la FAQ de Deluge il est conseillé de mettre 200 (quelque soit la caractéristique de la ligne)


Maximum Download Speed

Vitesse maximal de téléchargement, 2 écoles :

  • illimité
  • 0.9 * débit download (en ko/s)


Maximum Upload Speed

Vitesse maximal d’envoi = débit upload (en ko/s) * 0.8

Soit dans mon cas 80 ko/s


Maximum Upload Slots

Nombre maximal d’emplacement en upload = 1 + (max upload speed / 6)


14 dans mon cas, or si on regarde dans la FAQ Deluge il est conseillé 4 (!)


Maximum half-open connection

Ce paramètre doit absolument être en raccord avec la limitation que Microsoft impose à ses OS (8 pour XP, 4 pour Vista sauf si vous avez patché tcpip.sys).

Pour un OS Linux pas de limitation spécifique.

Limiter volontairement ce paramètre peut permettre de moins pénaliser les autres applications travaillant avec le réseau sur le système et n’aura pour seule conséquence sur Deluge de placer en file d’attente plus de pairs (cf paramètre max_half_open_connections de libtorrent)

Dans mon cas j’ai mis 50 (la FAQ Deluge préconise illimité)

  

Maximum Connection Attempt Per Second

La FAQ préconise 20, libtorrent utilise 200 comme valeur pour défaut (paramètre libtorrent  connection_speed)…


Ignore limit on local network

On peut décocher cette option puisque de toute façon on ne fera pas de download en local.


Rate limit Ip overhead

Paramètre libtorrent rate_limit_ip_overhead.

Mais n’étant pas un spécialiste en réseau il m’est impossible de comprendre qe quoi il retourne…

J’ai donc laissé ce paramétre côché comme pr défaut.
 



Per torrent

Bandwith \ Per Torrents

Après la configuration global, on peut réaliser une configuration par torrent.

En effet avec par exemple 100 connexions globales au maximum et 4 torrents en cours on peut imaginer qu’un des torrent prenne les 100 connexions laissant les 3 autres torrents sans aucune connexion.

Il est donc possible d’éviter ce genre de situation avec ces paramètre par torrent.

Dans mon cas cela ne m’importe peu, j’ai donc tout laissé en illimité.


Configuration de Deluge (démon et Co)

Download

Deluge \ Download

Store all torrents in

Emplacement où les fichiers téléchargés sont stockés


Save .torrent files to

Emplacement de sauvegarde des fichiers .torrent


Auto add folder

Répertoire scruté par le démon Deluge à la recherche de fichier .torrent, dès qu’il en trouve un il démarre le téléchargement.

Très utile pour réaliser du téléchargement automatique de série via un flux RSS (cf. ici)


Auto Add enabled

Active l’ajout automatique de torrent via la scrutation du répertoire précedemment défini.


Use compact allocation

Par défaut Deluge alloue tout l’espace nécessaire au fichier à télécharger, avec cette option de côché Deluge alloue l’espace au fur et à mesure du besoin.


Prioritize first and last piece

Téléchargment en priorité du début et de la fin du fichier, permet de regarder le début d’une vidéo alors que le téléchargement n’est pas encore fini.

Cela n’est possible qu’avec des lecteurs vidéo supportant de lire des fichiers incomplets (VLC par exemple).

Cela peut servir à s’assurer de la qualité d’une vidéo avant la fin du téléchargment.


 

Deamon

 Deluge \ Deamon

 Défini le port d’écoute du déamon et si ce dernier est accessible à distance (pour une administration distante avec la redirection de port adéquat – attention à la sécurité)

 

Queue

 Deluge \ Queue

 

Queue new torrent to top

Indique que les torrents nouvellement ajoutés doivent être téléchargés en priorité.

 

Total active downloading

Nombre de torrents actifs en téléchargement 

 

Total active seeding

Nombre de torrents actifs en seeding

 

Total active torrent

Nombre torrent actif au total

 

On pourrait croire que total = downloading + seeding, mais en fait le nombre de torrent maximum rééllement actif est le minimum entre ce qui est paramétré dans total et la somme de downloading + seeding.

exemple :

  • downloading = 3
  • seeding = 2
  • total = 8

On aura effectivement que maximum 5 (3+2) torrent d’actif.

 

Cf. paramètres libtorrent : active_downloads, active_seeds et active_limit

 

Share ratio limit, Seed time ratio limit et Seed time limit

Ces paramétres correspondent aux paramètre libtorrent suivant :

  • Share ratio limit = share_ratio_limit
  • Seed time ratio limit = seed_time_ratio_limit
  • Seed time limit = seed_time_limit

 Il interviennent dans la façon dont libtorrent gère sa file d’attente (queuing) pour le seed, en gros de ce que j’en comprend si on a plus de torrent terminé (pouvant faire l’objet de seeding) que de torrent autorisé à seeder (paramètre total active seeding), libtorrent se sert de ces paramètres pour determiner les torrents devant seeder.

 

Je n’ai aucun intérêt à modifier les valeurs par défaut :

  • Share ratio limit = 2
  • Seed time ratio limit = 7
  • Seed time limit = 180

 

 

Les 3 paramètres suivants sont propres à Deluge (pas libtorrent), on pourra consulter le code source dans torrent.py.

Stop seeding when ratio reached

Indique qu’il faut arrêter de seeder un torretn quand le ratio paramétré avec « Stop seed ratio » est atteint.

 

Remove torrent when ratio reached  

Indique qu’il faut supprimer le torrent quand le ratio paramétré avec « Stop seed ratio » est atteint.

 

Stop seed ratio

Ratio upload/download auquel il faut arrêter de seeder (paramètre Stop seeding when ratio reached) ou supprimer le torrent (paramètre Remove torrent when ratio reached)

Valeur par défaut = 2.0 dans mon cas j’ai mis 1.0 (j’arrête de partager dès que j’ai transmis autant que j’ai reçu)

 

 

Enabled plugins

Deluge \ Enabled Plugins 

 Permet d’activer ou non des plugins additionnels.

Par défaut dans Deluge seul 2 plugins sont disponibles Blocklist et Label, l’utilisation de ces plugins fera l’objet d’un autre article.

 

 


 

Remarque :

Pour écrire cet article je me suis plongé dans le code source de Deluge et quelle ne fut pas ma surprise d’y découvrir ce bloc de code :

def _on_send_info(self, key, value):
        log.debug("Sending anonymous stats..")
        """sends anonymous stats home"""
        class Send_Info_Thread(threading.Thread):
            def __init__(self, config):
                self.config = config
                threading.Thread.__init__(self)
            def run(self):
                import time
                now = time.time()
                # check if we've done this within the last week or never
                if (now - self.config["info_sent"]) >= (60 * 60 * 24 * 7):
                    import deluge.common
                    from urllib import quote_plus
                    from urllib2 import urlopen
                    import platform
                    try:
                        url = "<a href="http://deluge-torrent.org/stats_get.php?processor">http://deluge-torrent.org/stats_get.php?processor</a>=" + \
                            platform.machine() + "&python=" + platform.python_version() \
                            + "&deluge=" + deluge.common.get_version() \
                            + "&os=" + platform.system() \
                            + "&plugins=" + quote_plus(self.config["enabled_plugins"])
                        urlopen(url)
                    except IOError, e:
                        log.debug("Network error while trying to send info: %s", e)
                    else:
                        self.config["info_sent"] = now

 

Pour ceux qui ne seraient pas du tout à l’aise avec la programmation, ce code envoi des statistiques à Deluge concernant l’OS, la version de python utilisée, le processeur et les plugins utilisés.

Bref rien de très compromettant…

 

 

Références / sources :



Les commentaires sont fermés.