linux qos breaks newer deluge versions

General support for problems installing or using Deluge
Post Reply
clarknova
Member
Member
Posts: 37
Joined: Tue Sep 16, 2008 5:24 am

linux qos breaks newer deluge versions

Post by clarknova »

I've been using a linux router with qos for years. QOS is a must have if you're using bittorrent with voip or any other interactive traffic. It's a dandy.

Lately though most of my torrent uploads have slowed to a crawl. I did some troubleshooting and discovered that my years-old QOS script is killing my ability to seed. The script is multi-level, but experimenting has shown it's the very top-level qdisc that is causing the problems:

Code: Select all

tc qdisc add dev eth1 root handle 1: tbf rate 675kbit latency 50ms burst 1540
This is pretty much straight from the lartc.org howto (http://lartc.org/howto/lartc.qdisc.clas ... tml#AEN691) and the purpose is to create a short queue at your outgoing WAN interface so that higher priority packets (voip, ack, etc) can be queued ahead of bulk packets (torrents, etc) with a minimum of delay.

But for some reason lately it's killing my torrent UL speeds. My average UL speed now is somewhere around 5KiB/s, never topping 18KiB/s. I tried a wide range of values for rate, latency and burst with no success. If I clear the QOS and remove all qdiscs completely my UL speed jumps to the pin (~85KiB/s) within seconds and stays there. I've tried setting every valid TOS bit in Deluge with no success (not that it should matter with no other concurrent traffic).

I tried rolling back to deluge version 1.1.3 (oldest one I still had in my apt cache), but same issue. I tried seeding all the same torrents in Transmission and the result was the same, so I'm guessing the problem is not in deluge per se, but in the underlying common machinery (libtorrent?). Nevertheless, I thought I would run it by the capable community here. Anybody have any insight? I need QOS; without it either the voip goes or the torrents go.

Thanks for looking.
db
trektorrents
Seeder
Seeder
Posts: 108
Joined: Fri Aug 10, 2007 2:26 pm

Re: linux qos breaks newer deluge versions

Post by trektorrents »

Can you try with KTorrent or Azureus or uTorrent, and see if it's repeated? That would help nail down if it's libtorrent.
jesperl
Moderator
Moderator
Posts: 89
Joined: Sun Dec 14, 2008 10:03 pm
Location: Copenhagen

Re: linux qos breaks newer deluge versions

Post by jesperl »

clarknova wrote:I've been using a linux router with qos for years. QOS is a must have if you're using bittorrent with voip or any other interactive traffic. It's a dandy.

Lately though most of my torrent uploads have slowed to a crawl. I did some troubleshooting and discovered that my years-old QOS script is killing my ability to seed. The script is multi-level, but experimenting has shown it's the very top-level qdisc that is causing the problems:

Code: Select all

tc qdisc add dev eth1 root handle 1: tbf rate 675kbit latency 50ms burst 1540
I agree that QoS is a good thing (use it myself). But why not use the TOS flag that you can set in Deluge as of version 1.1?

My own QoS script for OpenWrt has three HTB classes with SFQ subclasses, and ipfilter assigns the Deluge traffic to the lowest-priority class based on the TOS field (or rather the DSCP field which is a 6-bit subset of the TOS byte). Other ipfilter rules assign TCP ACK packets and interactive traffic (IM, IRC, VoIP) to the highest-priority class using various rules (destination port for IM and IRC).

It's a bit more work than your "one liner" script, but it works for me. 8-)
clarknova
Member
Member
Posts: 37
Joined: Tue Sep 16, 2008 5:24 am

Re: linux qos breaks newer deluge versions

Post by clarknova »

Well, yeah, my full solution actually looks like this:

tbf
|
prio
1 2 3 4
| | | |
pfifo pfifo pfifo sfq

But when I noticed that disabling it altogether fixed the seeding problem I went back setting things up one line at a time, and it's the first line that kills the torrents.
db
Post Reply