[Firehol-support] FireQOS Handling link speeds

Tsaousis, Costa costa at tsaousis.gr
Fri Aug 28 11:31:41 CEST 2015


Hi Julian,

The upstream?
I think that 2,5Mbps upstream is too low for 118Mbps downstream.
Upstream should be around 5Mbps.

Once you have the peak values, try setting them to fireqos while the
ethernet link is at 1Gbps.
Does the problem remain?

Costa


On Fri, Aug 28, 2015 at 2:32 AM, Julian Tyler <lovely at crm114.net> wrote:
> 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