[Firehol-support] FireQOS Handling link speeds
Tsaousis, Costa
costa at tsaousis.gr
Thu Aug 27 02:02:21 BST 2015
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