Hallo,
meine Erfahrungen:
Das Hängen (die Timeouts) der Torrent-Downloads hat bei uns massiv abgenommen, als wir auf Seite des Servers den Upload auf 95% begrenzt haben. Das klingt erstmal widersprüchlich, aber es sorgt u. a. dafür, dass der Torrent-Upload nicht die Antworten der Torrent-Clients über eingegangene Pakete verzögert, was dann wieder protokollbedingt den Upload drosselt. Mein virtualisierter Server kann so bis zu 70 Clients zeitgleich bedienen. Bei mehr steigt wieder die Wahrscheinlichkeit von Timeouts. RSYNC ist sehr CPU-lastig. Sobald da eine handvoll Clients von Torrent auf RSYNC zurückfallen ist alles vorbei, weil die Rsync-Verbindungen dann 100% der Mehrkern-CPU verbrauchen und das den Torrent-Seed verlangsamt, was zu noch mehr RSYNC-Verbindungen führt. Dementsprechend hatte ich dann irgendwann den Rückfall auf rsync „deaktiviert“ bzw. Anzahl der Retries bzw. den Timeout sehr hoch gesetzt.
Ich verstehe nicht wieso man MAXPEERS überhaupt einstellen muss. Sollte es nicht egal sein, wie viele Clients ein Seed hat? War das nicht Sinn des BitTorrent-Protokolls?
Hilfreich wäre hier auch, wenn der Torrent-Client auf dem Server Super-Seeding unterstützten würde, d. h. erstmal jeden Chunk (Dateiteil) einmal hochlädt, bevor er denselben Chunk ein weiteres mal verteilt.
Wir haben auch die Einstellung für den Zeitintervall von Anfragen an den Tracker gesenkt, nachdem bei Tests festgestellt wurde, dass da nur alle 30min nachgefragt wird. Aufgefallen war dies, als >15 Clients im Abstand weniger Sekunden zeitverzögert gestartet wurden und der erste Torrent-Client nur 2 Torrent-Clients (sich und den Server) für eben diese 30min gesehen hatte, während der letzte gestartete Rechner alle Torrent-Clients gesehen hat.
Kleine Billigswitches können durchaus ein Problem sein, gerade wenn hohe Raten kleiner Datenpakete involviert sind, wie es bei BitTorrent der Falls sein kann. Wir haben da mindestens einen 8 Port TP-Link-Switch aus der SOHO-Kategorie, der hat schon mit zwei Torrent-Clients gleichzeitig zu kämpfen, d. h. die Summer beider Torrent-Downloadraten entsprach zeitweise nicht einmal 70% des 1 Gbps-Uplinks des Switches. Schlimmer noch, sobald ein Image hochgeladen wurde, brach ein Image-Download auf dem benachbarten Rechner auf wenige hundert KByte/s ein.
Torrent kann Downloads fortsetzen, aber dazu muss die vorhandene Datei geprüft werden. Das Dauert bei 50-70 GB großen Images durchaus mehrere Minuten bevor der Download gestartet werden kann und ist vermutlich auch der Grund wieso die Prüfung im Linbo-Client deaktiviert wird. Dazu kommt, dass das Image ein komprimierter Abzug der Partition ist und keine Sammlung aller Dateien der Partition. Dadurch ändert sich immer die komplette Imagedatei.
Es gibt prinzipiell die Möglichkeit vor einem update-linbofs die Skripte für den Linbo-Client auf dem Server anzupassen, um das mal auszuprobieren. Ich hatte nur selber noch keine Zeit mir das im Details anzusehen.
VG
Buster