rTorrent Prioritising

saroos1

Member
May 25, 2018
718
0
16
How does rtorrent prioritising work? I want to be able to give a group of torrents upload priority over another, is this possible?

Scenario: I seed for two private trackers, one is easy to seed to, one (lets call it tracker B) is very very hard and UL is treasured and my ratio is suffering!

Thus far I've been just throttling all the torrents for 'tracker A' to say 10kbps, but this doesn't really utilize my full upload capability because most of the time 'tracker B' is idle or at a very low speed for each torrent (around 300 torrents).

Is there any kind of solution?
 

simur612

Member
May 25, 2018
879
0
16
you could handle the issue from outside of rtorrent by using FreeBSD and pf + ALTQ

but it is prety complicated and outside the scope of this forum.

Another point you should understand:


Throttle works perfectly but it's not going to work magic. It's still limited by the torrents themselves....it's more useful for situations where you are currently maxing out your speed....but it won't make your torrents faster...that's not what it is designed to do.

The best way to understand this is:




If you are maxing out your download already and you want to thottle a torrent, you can give it a specific upload/download throttle..

but, again, this only works within your current speeds....

basically, just adding a throttle to a torrent isn't going ot make it upload/download faster if you don't have the bandwidth or the torrent doesn't have the peers.



Again, the mail solution is called "TRAFFIC SHAPING" and it takes place outside of the client...traffic shaping algorithms are very complex...honestly, i'd love to see this but i wouldn't expect to see it part of rtorrent withotu some serious money being thrown at the problem.


Look into FreeBSD + ALTQ, but even then you'd have to:

Know which ip's the peers are using:

OR

set up multipkle rtorrent users on different ports.

I do the latter
 

saroos1

Member
May 25, 2018
718
0
16
Quote from: wonslung on May 03, 2010, 06:10:13 pm
you could handle the issue from outside of rtorrent by using FreeBSD and pf + ALTQ

but it is prety complicated and outside the scope of this forum.

Another point you should understand:


Throttle works perfectly but it's not going to work magic. It's still limited by the torrents themselves....it's more useful for situations where you are currently maxing out your speed....but it won't make your torrents faster...that's not what it is designed to do.

The best way to understand this is:




If you are maxing out your download already and you want to thottle a torrent, you can give it a specific upload/download throttle..

but, again, this only works within your current speeds....

basically, just adding a throttle to a torrent isn't going ot make it upload/download faster if you don't have the bandwidth or the torrent doesn't have the peers.



Again, the mail solution is called "TRAFFIC SHAPING" and it takes place outside of the client...traffic shaping algorithms are very complex...honestly, i'd love to see this but i wouldn't expect to see it part of rtorrent withotu some serious money being thrown at the problem.


Look into FreeBSD + ALTQ, but even then you'd have to:

Know which ip's the peers are using:

OR

set up multipkle rtorrent users on different ports.

I do the latter


Yeah I understand, I think you initially misunderstood me because I'm not trying to make my torrents go faster, just have 'tracker priority' if that makes sense.

I understand what you've said and I'm probably going to implement some kind of QoS on my router and give one instance of rtorrent priority over the other.

Thanks for your detailed reply and I will look into freebsd and altq in the future!
 

simur612

Member
May 25, 2018
879
0
16
or do what i did, replace your router with a FreeBSD or OpenBSD box.

let's look at the facts.

Most "retail" routers are 200-300 Mhz cpus with 32-64 MB ram

you can take an old p3 or p4, throw in a dual port intel nic, get a cheap gigabit network switch, and you have a router which is MUCH better suited for torrenting.

If the prospect of manually configuring a *NIX os like FreeBSD is too duanting, then look into pfsense.

It is based on FreeBSD, and the pf firewall, comes with altq and a traffic shaping wizzard.

It makes a GREAT router....otherwise, do what i did, load vanilla FreeBSD, recompile the kernel with ALTQ and set up pf

it's hugely powerful.
 

saroos1

Member
May 25, 2018
718
0
16
I probably will retire my current box to router status when I upgrade, that's a good idea.

I'll get back at you when I do get round to it!

Thanks! smiley.gif
 

simur612

Member
May 25, 2018
879
0
16
cool, well if you need any help with ideas for how to dpo some cool stuff let me know.

One thing i HIGHLY recommend doing is building a ZFS based nas.


I have one with 20 1TB hard drives, and i'm about to build a new one with 10 2 TB hard drives (and space for 10 more)
 

saroos1

Member
May 25, 2018
718
0
16
Quote
cool, well if you need any help with ideas for how to dpo some cool stuff let me know.

One thing i HIGHLY recommend doing is building a ZFS based nas.


I have one with 20 1TB hard drives, and i'm about to build a new one with 10 2 TB hard drives (and space for 10 more)


Hm, what's so much better w/ a ZFS based NAS? I've just converted my drives from ntfs (boo!) to ext4 last night, why is this filesystem that much better?

Nice on the 10 2tb discs btw... *droool* cheesy.gif
 

simur612

Member
May 25, 2018
879
0
16
ZFS is 20 years ahead of any other filesystem around. I could list at least 20 reasons why it's better but heres the most imports:


1:) ZFS is a pooled filesystem. You have what is called a "zpool" made up of "vdevs" A vdev is a virtual device, it can be a single hard drive, a mirrored group of drives (2 way, 3 way, n-way mirrors), or a raidz (1,2,3) group of drives (raidz is similar to raid5 in the way that it is "single parity" but that's where the similarities end..., raidz2 is double parity (like raid 6))

2:) Each pool can have multiple filesystems. Filesystems share the space of the pool. It works similar to the way that memory works....with memory, if you have 4 gb of ram, and an application needs some ram, it pulls it from the pool, when it doesn't need it anymore, it goes back to the pool. )

3:) It is a copy-on-write transactional filesystem. Basically this means that when it writes a file, then later that file changes, it just keeps track of what has changed. This is one of the coolest things because it makes snapshots possible

4:) The Snapshots in ZFS are near instant, and inintally take up no space. You can take snapshots frequently. A snapshot is a "moment-in-time" read only copy of a filesystem. Because of how ZFS works, like i said before, these snapshots initially take up no space, and only grow in size based on how different the filessytems are. This is one of the most important things about ZFS which owns.

5:) Clones. A clone is like a snapshot, except you can write to it. Basically, when you clone a filesystem, you end up with a second filesystem which shared a point in history with the first, but can diverge. Because of this, it takes up no extra space, and only grows in size based on new transactions.

6:) Compression. ZFS can do "block level" on the fly compression. You can set compression at the filesystem level making everything in a given filesystem compressed. This actually makes the filesystem faster in many situations because disk i/o is often the bottleneck, which CPU cyles are easy to come by.

7:) Software raid. It is software raid but it is as fast, if not faster than hardware raid in many situations. It uses your memory and cpu as the "hardware" and can take full advantage of the disk i/o available.

8:) End to end Checksumming. Perhaps the best feature of all is the end to end checksumming. This basically ensures data integrity. No other filesystem around right now has this feature. Basically, it works like this: Each block written to a ZFS filesystem is hashed, then the next block is hashed against that block, making the entire filesystem structure a self validating merkle tree. (each block checks against the last) Because of this, ZFS can detect, and FIX data corruption that other filesystems simply miss. This is probably the number one best feature in my opinion because, what most people don't understand is: Hard drives RARELY fail "hard". Most of them fail over time, where some blocks just "go bad" while others work file...thsi type of failure happens over time and other filesystems just "lose" the data. With ZFS, if you are using some sort of redundancy (raidz or mirrors) then not only can it find these errors, but it will fix them. Just the act of READING data checks it in this way, and if it fails the checksum, it will fix it. This "SELF-HEALING" is absolutely amazing and will come in more handy than you can image

9:) Raidz eliminates the "raid5 write hole"

10:) Transactions are atomic. Because of this, if you have a sudden power failure, you don't have to worry about your data being corrupted. There is no "fsck" with ZFS.



11:) It is SERIOUSLY fast when set up correctly.

12:) 128 bit. This means it is future proof.....all other filesystems are 64 bit.



I could keep going....but you get the point.