[Firehol-support] FireQOS Handling link speeds

Julian Tyler lovely at crm114.net
Fri Aug 28 00:32:57 BST 2015


Hello Costa,

I did the test you suggested. Changed the ethernet port back to 1 Gbps and set the fireqos input rate to 1Gbps.

The connection peaks at about 118 Mbps.

On 27/08/2015, at 11:02 AM, Tsaousis, Costa wrote:

> Hi Julian,
> 
> Strange problem...
> 
> Lets make a test: set at FireQOS the interface speed to 1Gbps in both
> directions and monitor it while downloading. At what speed it peaks?
> 
> 
> PS: You can also use netdata for graphing various attributes of your
> linux box (https://github.com/ktsaou/netdata).
> 
> 
> On Thu, Aug 27, 2015 at 2:17 AM, Julian Tyler <lovely at crm114.net> wrote:
>> Hello all,
>> 
>> I've been using fireqos on a DSL link for a few years and recently i've added a cable modem as that the way my country/area is going.
>> However after playing around with fireqos on this new connection. I've discovered something that I don't how to fix.
>> 
>> From my server outwards there is a 1000BaseT ethernet connection to Netgear CG3100D-2BPAUS. Which then connects via a docis coax connection with 115/2.5 (DWN/UP) megabit bandwidth.
>> 
>> See end of message for extra info and my current fireqos config for that link.
>> 
>> When the ethernet port between the cable modem and server is configured at 1000BaseT.  I see while watching this link with fireqos status, a limit between 34mbs and 48 mbs, with backlog packets (yellow numbers), the speed slows and picks up again cyclically.
>> 
>> However when the ethernet port is configure as 100BaseT. The link sits happily around 90 (+/- 5) mbs. Both test were to the same server (rsync/ssh), in a 10 minutes window.
>> 
>> I believe this is due to the cable modem providing bursty traffic, which i guess fq_codel sees as overloading the link and starts backlogging/dropping to slow things down (overly aggressively)
>> What is best way apart from running the ethernet link at 100BaseT to fix this?
>> 
>> Extra Info:
>> Using FireQOS 2.0.0
>> 
>> eth2 Byte Queue Limit: 3000 (same oddness at max BQL)
>> eth2 offloads disabled.
>> 
>> fireqos.hfc.conf below:
>> 
>> DEVICE=eth2
>> SYNC_DWN=114000
>> SYNC_UP=2500
>> 
>> INPUT_SPEED="$(($SYNC_DWN * 95 / 100))kbit"
>> OUTPUT_SPEED="$(($SYNC_UP  * 95 / 100))kbit"
>> 
>> LINKTYPE="ethernet"
>> 
>> server_rtp_ports="udp/10000:10100"
>> server_lol_ports="udp/5000:5500 tcp/8393:8400,2099,5223,5222,8088"
>> server_openvpn_ports="any/1195:1198"
>> server_mytorrent_ports="any/49710"
>> 
>> # ------------- INTERFACES -------------
>> interface $DEVICE hfc bidirectional $LINKTYPE input rate $INPUT_SPEED output rate $OUTPUT_SPEED
>>        class voip commit 100kbit pfifo
>>                server sip
>>                client sip
>>                server rtp
>>                client stun
>> 
>>        class interactive input commit 5% output commit 10%
>>                server icmp
>>                server dns
>>                client dns
>>                server ssh
>>                client ssh
>>                client teamviewer
>>                client lol
>> 
>>        class chat input commit 1000kbit output commit 100kbit
>>                client facetime
>>                server hangouts
>>                client hangouts
>>                client gtalk
>>                client jabber
>> 
>>        class vpns input commit 5% output commit 10%
>>                server pptp
>>                server GRE
>>                server openvpn
>> 
>>        class servers
>>                server http
>> 
>>        class surfing prio keep commit 10%
>>                client surfing
>>                client rsync
>> 
>>        class ftp prio keep commit 10%
>>                client ftp
>> 
>>        class synacks output commit 1000kbit
>>                match tcp syn
>>                match tcp ack
>> 
>>        class default fq_codel options "noecn"
>> 
>>        class torrents fq_codel options "noecn"
>>                client torrents
>>                server mytorrent prio 1
>>                match sports 16384:65535 dports 16384:65535
>>                match mark 1024
>>                match ip X.X.X.X prio 1
>> 
>> --------
>> Below is the output: tc qdisc show dev eth2 and  tc qdisc show dev eth2-ifb
>> 
>> qdisc htb 1: root refcnt 2 r2q 1 default 5000 direct_packets_stat 527 direct_qlen 1000
>> qdisc pfifo 11: parent 1:11 limit 1000p
>> qdisc fq_codel 12: parent 1:12 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 13: parent 1:13 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 14: parent 1:14 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 15: parent 1:15 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 16: parent 1:16 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 17: parent 1:17 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 18: parent 1:18 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 19: parent 1:5000 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms
>> qdisc fq_codel 20: parent 1:20 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms
>> qdisc ingress ffff: parent ffff:fff1 ----------------
>> 
>> qdisc htb 1: root refcnt 2 r2q 79 default 5000 direct_packets_stat 1353 direct_qlen 32
>> qdisc pfifo 11: parent 1:11 limit 32p
>> qdisc fq_codel 12: parent 1:12 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 13: parent 1:13 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 14: parent 1:14 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 15: parent 1:15 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 16: parent 1:16 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 17: parent 1:17 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 18: parent 1:18 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
>> qdisc fq_codel 19: parent 1:5000 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms
>> qdisc fq_codel 20: parent 1:20 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms
>> 
>> 
>> _______________________________________________
>> Firehol-support mailing list
>> Firehol-support at lists.firehol.org
>> http://lists.firehol.org/mailman/listinfo/firehol-support
> 




More information about the Firehol-support mailing list