rtorrent op raspberry pi 3

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16
Ik ben geen expert met rtorrent, maar het volgende:

Ik heb rtorrent op mijn raspbian headless installatie op mijn pi 3 draaien, maar deze haalt nooit snelheden boven de 100~150kb/s.

Wat ik heb gecheckt:
* De ingestelde poort staat open volgens poortscan-tooltjes op internet
* Ik schrijf naar een NTFS schijf, wat niet optimaal is, maar als ik gewoon een download doe naar die schijf met wget, haal ik makkelijk de 2 MB/s.
* Een heel aantal verschillende torrents geprobeerd.
* CPU is eigenlijk voortdurend beneden de 5% voor alle cores, dus het is niet alsof het daar vastloopt. Geheugengebruik van mijn pi is meestal <200mb van de 1gb.

Mijn .rtorrent.rc:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.

# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
max_peers = 30

# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 0
max_peers_seed = 5

# Maximum number of simultanious uploads per torrent.
max_uploads = 2

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 10

# Default directory to save the downloaded torrents.
directory = /media/nas/downloads/

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /home/pi/.session

# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/media/nas/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M

# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no

# Port range to use for listening.
port_range = 49152-49152

# Start opening ports at a random position within the port range.
# port_random = yes

# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
check_hash = yes

# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = yes

# Alternative calls to bind and ip that should handle dynamic ip's.
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.

# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
max_peers = 30

# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 0
max_peers_seed = 5

# Maximum number of simultanious uploads per torrent.
max_uploads = 2

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 50

# Default directory to save the downloaded torrents.
directory = /media/nas/downloads/

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /home/pi/.session

# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/media/nas/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M

# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no

# Port range to use for listening.
port_range = 49152-49152

# Start opening ports at a random position within the port range.
# port_random = yes

# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
check_hash = yes

# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = yes

# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
encryption = allow_incoming,enable_retry,prefer_plaintext

# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
# dht = auto

# UDP port to use for DHT.
#
# dht_port = 6881

# Enable peer exchange (for torrents not marked private)
#
peer_exchange = no

#
# Do not modify the following parameters unless you know what you're doing.
#

# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10

# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100

# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 5

scgi_port = 127.0.0.1:5000


Zie ik iets obvious over het hoofd hier? Performance lijkt niet de bottle-neck, en vanaf andere pc-s in mijn netwerk haal ik wel makkelijk de 2MB/s met bittorrent (niet via dezelfde poort obviously).

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Heb je een dubbele c/p gedaan? Want ik zie een aantal settings meerdere keren erin staan. O.a. max_peers en max_uploads, bind_ip, etc. Ga eerst maar eens je config opschonen.

Daarnaast, je haalt met rtorrent een lage snelheid, is de torrent zelf niet gewoon laag aan peers? Wat doet een Linux ISO? Andere torrent client zoals Transmission getest?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Tja, upload-rate van 10; afhankelijk van je tracker, krijg je dan automagisch ook een lage downloadsnelheid. Daarbij ben je ook nog de Pi aan het laten babbelen met je NAS; enig idee hoeveel overhead of "dubbele connectie" je hierdoor genereert?

Geen idee waar je .rc vandaan komt maar het ziet er een beetje wankel uit; heb je ook al eens geprobeerd om je download-snelheid vast te zetten op, pak 'm beet, 50Mbit?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Nog leuker, regel 18 zegt upload_rate 10, maar regel 75 zegt weer upload_rate 50. Daarom, ruim troep op in je config file. Het verbaast mij niet dat met deze bende je lage snelheden haalt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • neeroeter
  • Registratie: Augustus 2005
  • Laatst online: 26-09 20:15

Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16
Hero of Time schreef op zondag 03 juli 2016 @ 23:03:
Heb je een dubbele c/p gedaan? Want ik zie een aantal settings meerdere keren erin staan. O.a. max_peers en max_uploads, bind_ip, etc. Ga eerst maar eens je config opschonen.

Daarnaast, je haalt met rtorrent een lage snelheid, is de torrent zelf niet gewoon laag aan peers? Wat doet een Linux ISO? Andere torrent client zoals Transmission getest?
Er is inderdaad iets fout gegaan bij het kopieren. Ik had dit heel schraal gedaan per scherm in Putty, en sommige dingen zijn er daardoor dubbel ingekomen. Voordat ik met deze post aan de slag ging was er zeker geen dubbele content in deze file.

Ik heb nog geen andere torrent client getest, omdat ik eerder ook al gewerkt heb met rtorrent, en hier tot nu toe altijd tevreden over was. Het ligt zeker niet aan de torrent zelf, ik had er al een heel aantal geprobeerd, ook van private trackers, en ook ubuntu ISO's. Alles blijft structureel rond de 100kb/s hangen met piekjes naar 150.
MAX3400 schreef op zondag 03 juli 2016 @ 23:09:
Tja, upload-rate van 10; afhankelijk van je tracker, krijg je dan automagisch ook een lage downloadsnelheid. Daarbij ben je ook nog de Pi aan het laten babbelen met je NAS; enig idee hoeveel overhead of "dubbele connectie" je hierdoor genereert?

Geen idee waar je .rc vandaan komt maar het ziet er een beetje wankel uit; heb je ook al eens geprobeerd om je download-snelheid vast te zetten op, pak 'm beet, 50Mbit?
Ik heb verschillende settings van de upload rate geprobeerd, 10, 25, 50, onbeperkt. Dat maakte allemaal geen verschil. Ik had bij het kopieren naar deze post manueel de 10 waar hij als laatste op stond naar 50 gezet omdat ik hier inderdaad wel vragen over verwachtte, maar ik heb die dus ook lange tijd op hogere waarden getest.

Ik laat mijn PI zeker niet praten met mijn NAS. Dit is gewoon een verwarrende benaming van mijn mount. Het is een externe usb harde schijf die aan de PI hangt.

Een aantal settings van mijn .rc heb ik hieruit overgenomen, maar eigenlijk ben ik daar pas gisteren mee begonnen, daarvoor stond alles eigenlijk standaard behalve mijn mappen en poorten en dat soort dingen.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Bio schreef op maandag 04 juli 2016 @ 07:03:
[...]

Er is inderdaad iets fout gegaan bij het kopieren. Ik had dit heel schraal gedaan per scherm in Putty, en sommige dingen zijn er daardoor dubbel ingekomen. Voordat ik met deze post aan de slag ging was er zeker geen dubbele content in deze file.
Waarom heb je dan je config file niet via winscp van de machine gehaald? Proberen te copy/pasten via putty gaat op deze manier fouten opleveren, zoals je al hebt gemerkt.
Ik heb nog geen andere torrent client getest, omdat ik eerder ook al gewerkt heb met rtorrent, en hier tot nu toe altijd tevreden over was. Het ligt zeker niet aan de torrent zelf, ik had er al een heel aantal geprobeerd, ook van private trackers, en ook ubuntu ISO's. Alles blijft structureel rond de 100kb/s hangen met piekjes naar 150.
Als ik jou was, zou ik toch een andere client proberen. In het verleden waren trackers die specifieke clients weigerde of knepen omdat ze niet 'lief' waren. Ik heb zelf geen problemen met Transmission, het is dus de moeite waard om dat even te testen. Zoveel moeite is het tenslotte niet. ;) Het bevat een mooie webinterface waar je mee kan werken.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Whatson
  • Registratie: Februari 2010
  • Niet online
"* Ik schrijf naar een NTFS schijf, wat niet optimaal is, maar als ik gewoon een download doe naar die schijf met wget, haal ik makkelijk de 2 MB/s. "

Zit die schijf verbonden met USB aan de Pi? --> USB poorten en Ethernet gebruiken dezelfde USB aansluiting naar de CPU, dus meer schrijven naar USB is minder Ethernet snelheid.

"These are connected to the LAN9512 combo hub/Ethernet chip IC3, which is itself a USB device connected to the single upstream USB port on BCM2835."

Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16
Hero of Time schreef op maandag 04 juli 2016 @ 11:20:
[...]

Waarom heb je dan je config file niet via winscp van de machine gehaald? Proberen te copy/pasten via putty gaat op deze manier fouten opleveren, zoals je al hebt gemerkt.


[...]

Als ik jou was, zou ik toch een andere client proberen. In het verleden waren trackers die specifieke clients weigerde of knepen omdat ze niet 'lief' waren. Ik heb zelf geen problemen met Transmission, het is dus de moeite waard om dat even te testen. Zoveel moeite is het tenslotte niet. ;) Het bevat een mooie webinterface waar je mee kan werken.
Ik was gisteren dom bezig, daar zijn inderdaad handigere manieren voor ;). Ik wil gerust eens een andere client proberen. Maar ik zou toch ook graag het probleem met rtorrent opgelost krijgen, al is het alleen al omdat ik het niet kan hebben dat ik niet weet waarom het niet werkt :). Zal vanavond eens een andere client proberen als ik er aan toekom. Is gelijk een extra check in het debug-proces.
Whatson schreef op maandag 04 juli 2016 @ 11:27:
"* Ik schrijf naar een NTFS schijf, wat niet optimaal is, maar als ik gewoon een download doe naar die schijf met wget, haal ik makkelijk de 2 MB/s. "

Zit die schijf verbonden met USB aan de Pi? --> USB poorten en Ethernet gebruiken dezelfde USB aansluiting naar de CPU, dus meer schrijven naar USB is minder Ethernet snelheid.

"These are connected to the LAN9512 combo hub/Ethernet chip IC3, which is itself a USB device connected to the single upstream USB port on BCM2835."
Dat klopt inderdaad, hij zit aan de USB. Maar deze beperkingen zouden ook moeten gelden als ik wget gebruik? En deze limitaties gaan er niet in resulteren 100kb/s maar inderdaad eerder een lage x mb/s snelheid. Ik heb de berekeningetjes met de bussnelheden ook gezien.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Bio schreef op maandag 04 juli 2016 @ 11:44:
[...]

Ik was gisteren dom bezig, daar zijn inderdaad handigere manieren voor ;). Ik wil gerust eens een andere client proberen. Maar ik zou toch ook graag het probleem met rtorrent opgelost krijgen, al is het alleen al omdat ik het niet kan hebben dat ik niet weet waarom het niet werkt :). Zal vanavond eens een andere client proberen als ik er aan toekom. Is gelijk een extra check in het debug-proces.
Je kan pas problemen oplossen als je met andere variabelen hetzelfde resultaat krijgt. Momenteel is de grootste variabel de client.
[...]

Dat klopt inderdaad, hij zit aan de USB. Maar deze beperkingen zouden ook moeten gelden als ik wget gebruik? En deze limitaties gaan er niet in resulteren 100kb/s maar inderdaad eerder een lage x mb/s snelheid. Ik heb de berekeningetjes met de bussnelheden ook gezien.
Je weet ook dat torrent clients met chunks werken? Ik heb met een distributed file system gewerkt wat met normaal schrijven prima presteerde, maar als er met chunks werd gewerkt, de snelheid enorm inzakte. Hoe groter het uiteindelijke bestand, hoe meer chunks en hoe trager het werd. Bij een bestand van 2 GB was het al zo erg als normaal schrijven met 80 MB/s en in chunks 20 KB/s.

Nu is dat hier waarschijnlijk niet het probleem, want NTFS via Fuse moet gewoon goed gaan, ongeacht hoe je schrijft (ik heb met mijn PC eens op een NTFS schijf geschreven met torrents, geen probleem gehad eigenlijk). Maar het is iets om over na te denken voor als je met grote omgevingen werkt (en dan echt groot, 100+ TiB).

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16
Oke, transmission gaf normale snelheden. Daarna heb ik rtorrent nog eens geprobeerd en gestart vanuit een standaard config-file, en: het werkt nu ook zoals verwacht.

Waarschijnlijk dat er dan toch al eerder een fout in was geslopen. Helaas kan ik nu niet meer reproduceren wat dat dan precies was.

In elk geval, bedankt voor de geboden hulp _/-\o_

edit: hm, het lijkt toch nog niet helemaal op orde met rtorrent... Ik had heel even normale snelheden, maar nu is het weer terug zoals het was. Transmission kan dezelfde torrent in zijn geheel aan topsnelheid downloaden.

[ Voor 24% gewijzigd door Bio op 04-07-2016 19:51 ]


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Zie je, ik zei het nog, test met een andere client. Nu weet je dat het probleem in rTorrent zit. Config of programma zelf, al verwacht ik zelf dat het het programma is. Trackers vinden 'm blijkbaar niet lief genoeg en cappen 'm hard. Daar had een bepaalde versie van Bitlord ook last van en werd door de 'hacked' versie gebanned zelfs van trackers.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 21-07 23:16
Mwah, rtorrent heeft een enorme userbase, en veel seedboxen draaien er ook op. Het gaat er bij mij niet in dat het inherent aan rTorrent zou zitten. Zelf heb ik ook veel eerdere goede ervaringen met de client.

Acties:
  • 0 Henk 'm!

  • Whatson
  • Registratie: Februari 2010
  • Niet online
Bio schreef op maandag 04 juli 2016 @ 20:52:
Mwah, rtorrent heeft een enorme userbase, en veel seedboxen draaien er ook op. Het gaat er bij mij niet in dat het inherent aan rTorrent zou zitten. Zelf heb ik ook veel eerdere goede ervaringen met de client.
Wellicht draait rTorrent niet goed op ARM.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 19:28

Hero of Time

Moderator LNX

There is only one Legend

Dat betwijfel ik. Ik zal eens kijken welke snelheden ik haal met een anime ermee.

De reden dat ik er mijn twijfels bij heb, is dat de verschillen in architectuur voornamelijk in kernelspace te merken zijn, niet in userspace waar programma's in draaien.


Edit:
Net even getest, nog geen minuut deed de torrent erover die ik had toegevoegd om te downloaden (bestand was 452 MB). Rtorrent kan dus wel gewoon full speed downloaden, maar dan nog, het ligt aan de tracker en hoeveelheid seeds. De config die ik heb gebruikt is echt heel basic en met behulp van de man-page gemaakt:
code:
1
2
3
4
port_range = <poort>
check_hash = yes
peer_exchange = yes
encryption = allow_incoming,try_outgoing

Omdat de default voor de optie 'directory' de huidige directory is, heb ik rtorrent gestart vanaf de map waar ik de torrent wilde hebben, vandaar dat ik 'm niet heb als optie.

[ Voor 54% gewijzigd door Hero of Time op 05-07-2016 15:26 . Reden: rtorrent getest ]

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 30-09 08:10
Bio schreef op zondag 03 juli 2016 @ 22:28:
* CPU is eigenlijk voortdurend beneden de 5% voor alle cores, dus het is niet alsof het daar vastloopt. Geheugengebruik van mijn pi is meestal <200mb van de 1gb.
Wat versta je onder '5%'? Heb je ook al met vmstat of top gekeken of er niet alsof een ontzettende IO bottleneck optreedt (iowait)?
Pagina: 1