Is it possible to tune which applications receive the most bandwidth on a NIC, similar to the -20 to +20 Nice value but for bandwidth instead of processor-time?
Transmission seems to choke out my other applications. I can slow down the application from its options but I wondered if there was a linux/non-application-specific solution where I can view and tune everything that has network access.
Update: I suspect the problem is shown in the output below. Currently all web and transmission traffic is TCP source port 80 and a dynamic destination port, and is lumped together in class 0:3 (with 16810552 bytes and 171075 packets). So, because my web connection is not that fast, transmission is choking it out just enough for me to get timeouts. The output shows that no packets are being dropped by the queuing discipline.
I'm looking at tcng as a possible solution because of the configuration already present.
$ tc qdisc show dev wlp2s0
qdisc mq 0: root
qdisc fq_codel 0: parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
qdisc fq_codel 0: parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
$ tc -g -s class show dev wlp2s0
+---(:4) mq
| Sent 5670 bytes 105 pkt (dropped 0, overlimits 0 requeues 1)
| backlog 0b 0p requeues 1
|
+---(:3) mq
| Sent 16810552 bytes 171075 pkt (dropped 0, overlimits 0 requeues 0)
| backlog 0b 0p requeues 0 competing for bandwidth
|
+---(:2) mq
| Sent 2538 bytes 31 pkt (dropped 0, overlimits 0 requeues 1)
| backlog 0b 0p requeues 1
|
+---(:1) mq
Sent 13432 bytes 76 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0