Bittorrent kliens gondok

Bittorrent kliens gondok

Hozzászólások

Próbálgatom a ctorrent bittorrent klienst, de őszintén szólva nem vagyok nagyon elégedett: feltöltés irányban napok óta mindig legalább 10x-es forgalom van a letöltési sebességhez képest.
Míg kifelé stabilan megvan a kb. 16-32kB/s forgalom, addig a letöltés irány rendkívül változó, többnyire még annak is örülhetek, ha percenként bezuhan egy-két 16-32k-s tcp csomag a letöltendő fájlból.

Elég megdöbbentő, hogy miközben a letöltés alig cammog, addig ezerrel viszik el tőlem a fájl már letöltött darabjait. A sávszélességet pedig a ctorrentben nem lehet külön-külön korlátozni a fel- és letöltés irányra, csak együttesen. Ennek viszont nálam egyenes következménye, hogy a feltöltés irány az abban az irányban lehetséges érték 100%-a kiül, mely miatt viszont "dugó" keletkezik, és a letöltés irány belassul a névleges érték alig 10%-ára; bármiféle esély nélkül arra, hogy valaha is növekedhessen. Ezt elkerülendő, a bittorrent által használható teljes sávszélességet a feltöltési irány sávszélességének 80%-ra korlátoztam, de a legnagyobb meglepetésemre a le/feltöltési sebességek 1:10-hez aránya így is fennmaradt.

Ti is tapasztaltok ilyesmit, vagy csak az én bittorrent kliensem, a ctorrent ennyire hülye? Esetleg más bittorrent kliensekben lehet a le- és feltöltési sávszélességet külön-külön korlátozni?

Persze ez attol is fugg, hogy eppen hany torrentet toltesz le es hany peertol. Minel tobb peerrel vagy kapcsolatba, annal tobb savszelt visz el a kommunikacio.

Persze ez attol is fugg, hogy eppen hany torrentet toltesz le es hany peertol. Minel tobb peerrel vagy kapcsolatba, annal tobb savszelt visz el a kommunikacio.

Egyetlen torrentet töltenék; letöltés irányban a sávszél alig kihasznált.

7-8k-t vegyel vissza a feltoltesbol.

No komment:

a ctorrentben nem lehet külön-külön korlátozni a fel- és letöltés irányra, csak együttesen

a bittorrent által használható teljes sávszélességet a feltöltési irány sávszélességének 80%-ra korlátoztam

Jaaa, ertem mar! Akkor packet shaping. Es prioritast adsz a bejovoknek a kimenokkel szemben. Ha jol tom lehet ilyet, bar mar regen olvastam:
http://gentoo-wiki.com/HOWTO_Packet_Shaping

Kicsit meg kene butykolni ezt a ctorrentet, mert ez igy nem okes, hogy csak egyszerre lehet allitani. Bar, ahogy a honlapon neztem, ez is meg ujdonsag, szoval lehet, hogy lesz ez meg jobb is...

Hmmm... Miért nem inkább Azuerus-szal próbálkozol? Talán az a legelterjedtebb bittorent kliens - méghozzá nem véletlenül.

Miért nem inkább Azuerus-szal próbálkozol

Mert már megint szkriptet akartam írni. :wink:

Úgy képzeltem el, hogy beteszi valaki (bárki) a "torrent" könyvtárba a .torrent fájl(oka)t, aztán nyugodtan elfelejtheti: a többi már a szkript dolga. Azaz: bemásolod oda a .torrent fájl(oka)t (eleget ahhoz, hogy valamelyik csak működjön közülük), és pár óra/nap múlva csak kimásolod onnan a letöltött fájl(oka)t. Vagyis a bittorrent hálózat használatát a szkript két fájlmásolási műveletre egyszerűsítené.

Ehhez viszont a legegyszerűbb, parancssori bittorrent kliensre volt szükségem - a ctorrent eleinte megfelelőnek tűnt. Az ötlet egyebekben működőképesnek látszik, csak a ctorrent aránytalan sávszélesség kiosztása teszi jelenleg kérdésessé a megvalósítást.

Idezet egy bittorrent manualbol:

A feltöltési sebesség alapvetoen kétféleképpen befolyásolja a letöltési sebességet:

* A BitTorrent peerek (kliensek) elonyben részesítik azokat a peereket amik feltöltenek nekik (amikrol tudnak letölteni). Ez azt jelenti, hogy ha A és B ugyan azt a torrentet töltik és A ad néhány darabot (piece) B-nek nagy sebességgel, akkor B megpróbálja ezt viszonozni. Tehát a gyors feltöltés gyors letöltést fog eredményezni.
* A másik dolog a TCP muködésébol adódik. Ha A letölt valamit B-tol, akkor visszaigazolást küld B-nek, hogy megkapta az adatokat (ezek az úgynevezett ACK-k). Ha A nem tud visszaigazolást küldeni, akkor B nem küld több adatot, vár. Tehát, ha A teljes sebességgel tölt fel, akkor nem marad sávszélessége arra, hogy elküldje az ACK-kat, ezért le fog lassulni a letöltés.

Az a legjobb, ha olyan magasan tartod a feltöltés sebességét, hogy az ACK-k még késleltetés nélkül haladjanak. A feltöltési sebességet az elméleti maximum 80%-ra érdemes beállítani.

Néhány kliensben (pl.: Azureus) be lehet állítani a globális feltöltési sebességet, de valamelyikben csak a torrentenkénti sebességet lehet megadni, erre oda kell figyelni.

A feltöltési sebességet az elméleti maximum 80%-ra érdemes beállítani.

Nem olvastam ezt a manualt, de elvi megfontolások alapján én is ezekre a követketkeztetésre jutottam; még a teljes sávszélességet is véletlenül éppen 80%-ra korlátoztam.
Ez után viszont már fel kellett volna gyorsulnia a letöltésnek - ehhez képest most éppen az ellenkezőjét tapasztalom: lefelé most már órák óta semmi forgalom; felfelé meg megy a normális ügymenet. :cry:

Találtam egy patch csomagot a ctorrent forráskódjához, ami néhány hibát javít - a hétvégén majd kipróbálom.
Többek között annak a leírásából tudtam meg, hogy néhány bittorrent kliens feketelistán tartja a ctorrent-et állítólagos bug-ossága miatt. Lehet, hogy ez (is) a problémák oka. Még jó, hogy a tőlem letöltő kliensek nem ilyen finnyásak :wink:

Nem hiszem, mert pontosan ugyanazokkal a parancssori paraméterekkel indítottam most is a ctorrentet, mint máskor, csak a sávszélességet korlátoztam:
ctorrent -B 128 -p 6100 fajl.torrent

Erre - még ha lassan is - máskor működött a letöltés is.
(-B 128 = 128kByte/s; -p 6100=6100-as port használata, port forward-al szabaddá téve)

Hat, en jelenleg Azureust hasznalok, baromi sok torrentre es konnyu beallitasokra. Elotte bittornado volt, ami minden torrentnek kulon processzt indit, szoval kulon ablak meg miegymas. De pl. 1-2 fel-/letoltes eseten nagyon jo. (Szabalyozhato a sebesseg)

[quote:0bbfa2cd5b="asd"]Idezet egy bittorrent manualbol:

A feltöltési sebesség alapvetoen kétféleképpen befolyásolja a letöltési sebességet:

* A BitTorrent peerek (kliensek) elonyben részesítik azokat a peereket amik feltöltenek nekik (amikrol tudnak letölteni). Ez azt jelenti, hogy ha A és B ugyan azt a torrentet töltik és A ad néhány darabot (piece) B-nek nagy sebességgel, akkor B megpróbálja ezt viszonozni. Tehát a gyors feltöltés gyors letöltést fog eredményezni.
* A másik dolog a TCP muködésébol adódik. Ha A letölt valamit B-tol, akkor visszaigazolást küld B-nek, hogy megkapta az adatokat (ezek az úgynevezett ACK-k). Ha A nem tud visszaigazolást küldeni, akkor B nem küld több adatot, vár. Tehát, ha A teljes sebességgel tölt fel, akkor nem marad sávszélessége arra, hogy elküldje az ACK-kat, ezért le fog lassulni a letöltés.

Az a legjobb, ha olyan magasan tartod a feltöltés sebességét, hogy az ACK-k még késleltetés nélkül haladjanak. A feltöltési sebességet az elméleti maximum 80%-ra érdemes beállítani.

Néhány kliensben (pl.: Azureus) be lehet állítani a globális feltöltési sebességet, de valamelyikben csak a torrentenkénti sebességet lehet megadni, erre oda kell figyelni.

Nekem a 80% kevesnek bizonyult... Addig vittem le a korlatot amig a netmero valamivel a max alatt kezdett ingadozni. Ez a 24KB/s max feltoltesem mellett 13KB/s.

Az igazat megvallva en is azureust hasznalok, es tokeletesen megvagyok vele elegedve. Teljesen jol lehet kontrollalni benne a dolgokat. Szoval Celtichez hasonloan, en is csak ajanlani tudom.

Jah, a le- es feltoltes mellett lehet szabalyozni azt is, hogy mennyi szalon legyen a feltoltesre. Egyebkent nalam meg pont forditott a helyzet...bizonyos helyekrol csak tolti a cuccot, mint allat, meg felfele alig-alig megy...pedig minden jol be van love :D
Amugy tovabbi tapasztalat, hogy ha a max. download: 30Kb/s-re allitom, akkor a feltoltesem az 20-25Kb/s kozott mozog stabilan.

ajanlom meg esetleg a qtorrentet, nekem nagyon bevalt :)

[quote:9b5f211ef1="Sea-you"]ajanlom meg esetleg a qtorrentet, nekem nagyon bevalt :)

Hmmm... Most azureust hasznalok, de kiprobalom! Szeretem kiprobalni az uj dolgokat.

A ctorrent a végén már egyáltalán nem is volt hajlandó letölteni, csak a feltöltés irány működött.

Viszont végre megoldottam a problémát, és most már hasít mint a szélvész, méghozzá ugyanazon a torrent fájlon:

a) a google-al találtam egy patch-elt, nem hivatalos ctorrent forrást ("enhanced ctorrent"), azt telepítettem a hivatalos helyett
b) a -P parancssori opcióval más peer id-t adtam neki (állítólag a "gyári" peer id-t - így magát a ctorrentet - más bittorrent kliensek feketelistázzák, nem hajlandók hozzá csatlakozni - ezen segít az eltérő peer id)
c) nem adtam meg semmilyen sávkorlátozást (az igaz, hogy kényszerűségből, mert a sávkorlátozással még csak el sem indult a program)

Még nem tudom, hogy a fentiek közül melyik gyógyította meg a ctorrent-et, majd a következő torrent fájlnál próbálgatom.
A fő, hogy így már jól és gyorsan működik; meg lesz a szkriptem is hozzá rövidesen . :)

Szerkesztve:
Hoppá, most látom, hogy a ctorrent azért nem indult sávkorlátozással, mert a -B sávszélesség korlátozó parancssori paramétert a patch egyszerűen megszüntette. Eddig nem lehetett külön megadni a fel- és letöltési sávszélességet - most viszont már külön KELL megadni. Sirály!