QoS for a RouterOS noob

Hi everyone.

I am new to networks and RouterOS, and I am trying to QoS my internet.
My router is the RB951G-2HnD, my internet line is a 35Mbps/3Mbps VDSL2 (soon upgraded to 50/10), and I have a bit large SOHO network that connects 3 households, with about 40-50 different devices and many demanding users.
Most used applications are online games (so need of ultra-low latency), VoIP calls (Skype, Viber) cloud transfers (Google Drive/Dropbox/Onedrive), torrent downloading/seeding (24/7), HD streaming, and also 2 Windows servers offering HTTP/FTP/VPN services to the outside.
As you understand, big amount of upload traffic that has to be prioritized. The target I want to achieve is to use as much as possible bandwidth, but keep the low-bandwidth and ultra-low-latency applications working (Online gaming, VoIP calls, SSH). I have started reading on the internet, and I have understood that you have to create Mangles for marking the traffic and them add them on a Queue Tree.
The problem I am experiencing is that when 2 different priority upload tasks are working (e.g. a Google Drive upload and a torrent seeding), latency problems and packet loss show up (seems that all the available bandwidth exhausts), even I have a priority for VoIP/OnlineGaming/ICMP.
I am submitting my Queue Tree and Mangles, for anyone that has the time to help me to this big problem.


/queue tree
add comment=---DOWNLOAD--- disabled=yes max-limit=32500k name=Download \
    parent=global queue=pcq-download-default
add comment=---UPLOAD--- disabled=yes name=Upload parent=global queue=\
    pcq-upload-default
add comment="TCP, ACK, DNS, ICMP, NTP, SNMP" disabled=yes limit-at=1M \
    max-limit=32500k name=1-DL packet-mark=QoS_1-dl parent=Download priority=\
    1 queue=pcq-download-default
add comment="P2P, Torrents" disabled=yes max-limit=32M name=8-DL packet-mark=\
    QoS_8-dl parent=Download queue=pcq-download-default
add comment="Downloading, FTP, Sync" disabled=yes max-limit=32M name=7-DL \
    packet-mark=QoS_7-dl parent=Download priority=7 queue=\
    pcq-download-default
add comment="All Others" disabled=yes limit-at=1M max-limit=32M name=6-DL \
    packet-mark=QoS_6-dl parent=Download priority=6 queue=\
    pcq-download-default
add comment="Browsing, Email, FTP" disabled=yes limit-at=2M max-limit=32500k \
    name=5-DL packet-mark=QoS_5-dl parent=Download priority=5 queue=\
    pcq-download-default
add comment="PRTG - VPN (PPTP, OpenVPN) - RDP - Winbox - Webfig" disabled=yes \
    limit-at=1M max-limit=32500k name=4-DL packet-mark=QoS_4-dl parent=\
    Download priority=4 queue=pcq-download-default
add comment="VoIP, PRTG Cloud" disabled=yes limit-at=1M max-limit=32500k \
    name=3-DL packet-mark=QoS_3-dl parent=Download priority=3 queue=\
    pcq-download-default
add comment="Online Gaming" disabled=yes limit-at=1M max-limit=32500k name=\
    2-DL packet-mark=QoS_2-dl parent=Download priority=2 queue=\
    pcq-download-default
add comment="TCP, ACK, DNS, ICMP, NTP, SNMP" disabled=yes limit-at=512k \
    max-limit=2750k name=1-UL packet-mark=QoS_1-up parent=Upload priority=1 \
    queue=pcq-upload-default
add comment="Online Gaming" disabled=yes limit-at=512k max-limit=2750k name=\
    2-UL packet-mark=QoS_2-up parent=Upload priority=2 queue=\
    pcq-upload-default
add comment="VoIP, PRTG Cloud" disabled=yes limit-at=512k max-limit=2750k \
    name=3-UL packet-mark=QoS_3-up parent=Upload priority=3 queue=\
    pcq-upload-default
add comment="PRTG - VPN (PPTP, OpenVPN) - RDP - Winbox - Webfig" disabled=yes \
    limit-at=512k max-limit=2750k name=4-UL packet-mark=QoS_4-up parent=\
    Upload priority=4 queue=pcq-upload-default
add comment="Browsing, Email, FTP" disabled=yes limit-at=512k max-limit=2750k \
    name=5-UL packet-mark=QoS_5-up parent=Upload priority=5 queue=\
    pcq-upload-default
add comment="All Others" disabled=yes limit-at=128k max-limit=2500k name=6-UL \
    packet-mark=QoS_6-up parent=Upload priority=6 queue=pcq-upload-default
add comment="Downloading, FTP, Sync" disabled=yes max-limit=2500k name=7-UL \
    packet-mark=QoS_7-up parent=Upload priority=7 queue=pcq-upload-default
add comment="P2P, Torrents" disabled=yes max-limit=2500k name=8-UL \
    packet-mark=QoS_8-up parent=Upload queue=pcq-upload-default



/ip firewall mangle
add action=mark-packet chain=forward comment=TCP in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=fin,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=fin,ack
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=rst,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=rst,ack
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=rst
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=rst
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-up passthrough=no protocol=tcp tcp-flags=syn,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=syn,ack
add action=mark-packet chain=forward comment=ACK in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl packet-size=0-123 passthrough=no protocol=tcp \
    tcp-flags=ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 packet-size=0-123 passthrough=no protocol=tcp tcp-flags=\
    ack
add action=mark-packet chain=forward comment=ICMP in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_1-dl passthrough=no protocol=icmp
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=icmp
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=icmp
add action=mark-packet chain=output new-packet-mark=QoS_1-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=icmp
add action=mark-packet chain=input comment=DNS in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=output dst-port=53 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=forward dst-port=53 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=prerouting in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=postrouting dst-port=53 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward comment=NTP in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=123
add action=mark-packet chain=forward dst-port=123 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=123
add action=mark-packet chain=output dst-port=123 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward comment=SNMP in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_1-dl passthrough=no protocol=udp \
    src-port=161
add action=mark-packet chain=forward dst-port=161 new-packet-mark=QoS_1-up \
    out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-connection chain=forward comment=LOL connection-state=new \
    new-connection-mark=LOL port=2099,5223,5222,8393-8400,8088 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=LOL port=5000-5500,8088 protocol=udp
add action=mark-packet chain=forward connection-mark=LOL in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_2-dl passthrough=no
add action=mark-packet chain=forward connection-mark=LOL new-packet-mark=\
    QoS_2-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=Skype connection-state=new \
    new-connection-mark=SkypeDesktop port=53456,54567 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=SkypeDesktop port=53456,54567 protocol=udp
add action=mark-packet chain=forward connection-mark=SkypeDesktop \
    in-interface=PPPoE-Ethernet1 new-packet-mark=QoS_3-dl passthrough=no
add action=mark-packet chain=forward connection-mark=SkypeDesktop \
    new-packet-mark=QoS_3-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="PRTG Cloud" \
    connection-state=new new-connection-mark=PRTG-Cloud-SRC protocol=tcp \
    src-address-list=host_api.prtgcloud.com
add action=mark-connection chain=forward connection-state=new \
    dst-address-list=host_api.prtgcloud.com new-connection-mark=\
    PRTG-Cloud-DST protocol=tcp
add action=mark-packet chain=forward connection-mark=PRTG-Cloud-DST \
    new-packet-mark=QoS_3-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=forward connection-mark=PRTG-Cloud-SRC \
    in-interface=PPPoE-Ethernet1 new-packet-mark=QoS_3-dl passthrough=no
add action=mark-connection chain=forward comment=PRTG connection-state=new \
    new-connection-mark=PRTG port=8443 protocol=tcp
add action=mark-packet chain=forward connection-mark=PRTG in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=PRTG new-packet-mark=\
    QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=RDP connection-state=new \
    new-connection-mark=RDP port=21234,22345,23456,24567,3389 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=RDP port=21234,22345,23456,24567,3389 protocol=udp
add action=mark-packet chain=forward connection-mark=RDP in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=RDP new-packet-mark=\
    QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=input comment=Winbox connection-state=new \
    dst-port=8921 new-connection-mark=Winbox protocol=tcp
add action=mark-packet chain=input connection-mark=Winbox in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=output connection-mark=Winbox new-packet-mark=\
    QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="Webfig Secure" \
    connection-state=new new-connection-mark=Webfig port=9443 protocol=tcp
add action=mark-packet chain=forward connection-mark=Webfig in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Webfig new-packet-mark=\
    QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=VPN connection-state=new \
    dst-port=53 in-interface=PPPoE-Ethernet1 new-connection-mark=Softether \
    protocol=udp
add action=mark-packet chain=forward connection-mark=Softether in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Softether \
    new-packet-mark=QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=input connection-state=new dst-port=1723 \
    in-interface=PPPoE-Ethernet1 new-connection-mark=PPTP protocol=tcp
add action=mark-packet chain=input connection-mark=PPTP in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=output connection-mark=PPTP new-packet-mark=\
    QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=HTTP dst-port=80,443,8080 \
    new-connection-mark=HTTP-TCP protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-5000000 \
    connection-mark=HTTP-TCP in-interface=PPPoE-Ethernet1 new-packet-mark=\
    QoS_5-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-1000000 \
    connection-mark=HTTP-TCP new-packet-mark=QoS_5-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=5000000-0 \
    connection-mark=HTTP-TCP in-interface=PPPoE-Ethernet1 new-packet-mark=\
    QoS_7-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=1000000-0 \
    connection-mark=HTTP-TCP new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-connection chain=forward connection-state=new dst-port=\
    80,443,8080 new-connection-mark=HTTP-UDP protocol=udp
add action=mark-packet chain=forward connection-bytes=0-5000000 \
    connection-mark=HTTP-UDP in-interface=PPPoE-Ethernet1 new-packet-mark=\
    QoS_5-dl passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=0-1000000 \
    connection-mark=HTTP-UDP new-packet-mark=QoS_5-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=5000000-0 \
    connection-mark=HTTP-UDP in-interface=PPPoE-Ethernet1 new-packet-mark=\
    QoS_7-dl passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=1000000-0 \
    connection-mark=HTTP-UDP new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-connection chain=forward comment=\
    "Email (POP3/POP3S/IMAP/IMAPS/SMTP/SMTPS)" connection-state=new dst-port=\
    25,102,110,119,143,379,389,390,465,522,563,585,587,993,995 \
    new-connection-mark=Email protocol=tcp
add action=mark-connection chain=forward connection-state=new dst-port=\
    636,691,3268,3269 new-connection-mark=Email protocol=tcp
add action=mark-packet chain=forward connection-mark=Email in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_5-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Email connection-state=\
    established new-packet-mark=QoS_5-up out-interface=PPPoE-Ethernet1 \
    passthrough=no
add action=mark-connection chain=forward comment=FTP connection-state=new \
    dst-port=20,21 new-connection-mark=FTP protocol=tcp
add action=mark-packet chain=forward connection-mark=FTP in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward connection-mark=FTP new-packet-mark=\
    QoS_7-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="Bittorrent Sync" \
    connection-state=new new-connection-mark=Sync port=\
    41234,42345,43456,44567 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=Sync port=41234,42345,43456,44567 protocol=udp
add action=mark-packet chain=forward connection-mark=Sync in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Sync new-packet-mark=\
    QoS_7-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=P2P connection-state=new \
    new-connection-mark=P2P port=31234,32345,33456,34567,40500 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=P2P port=31234,32345,33456,34567,40500 protocol=udp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=P2P p2p=all-p2p
add action=mark-packet chain=forward connection-mark=P2P in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_8-dl passthrough=no
add action=mark-packet chain=forward connection-mark=P2P new-packet-mark=\
    QoS_8-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=AllOthers connection-state=\
    new new-connection-mark=AllOthers
add action=mark-packet chain=forward connection-mark=AllOthers in-interface=\
    PPPoE-Ethernet1 new-packet-mark=QoS_6-dl passthrough=no
add action=mark-packet chain=forward connection-mark=AllOthers \
    new-packet-mark=QoS_6-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="All others" \
    connection-state=new new-connection-mark=AllOthers protocol=tcp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=AllOthers protocol=udp
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=AllOthers
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=output new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_7-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
    new-packet-mark=QoS_7-dl passthrough=no protocol=udp
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
    PPPoE-Ethernet1 passthrough=no protocol=udp

When your queues are selected correctly (verify it on the config screen), maybe your problem is that your max
upload is set too high. You need to configure the max on the top level queue to be less than your actual upload speed.
This may require some tweaking.

When everything is set correctly, it works really nice! I have such queues in place in a network and it is almost
impossible to see changes in the latency of the higher-priority traffic depending on loading of the lowest priority queue.

I select only on DSCP and have done some mangling to set DHCP when not correct. Queues are like this:

/queue tree
add comment="Link 19,4 Mbps" limit-at=19M max-limit=19M name=\
    queue-vlan51 parent=ether1.vlan51 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p1 packet-mark=prio7 parent=\
    queue-vlan51 priority=1 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p2 packet-mark=prio6 parent=\
    queue-vlan51 priority=2 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p3 packet-mark=prio5 parent=\
    queue-vlan51 priority=3 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p4 packet-mark=prio4 parent=\
    queue-vlan51 priority=4 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p5 packet-mark=prio3 parent=\
    queue-vlan51 priority=5 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p6 packet-mark=prio2 parent=\
    queue-vlan51 priority=6 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p7 packet-mark=prio0 parent=\
    queue-vlan51 priority=7 queue=default
add limit-at=4M max-limit=18M name=queue-vlan51-p8 packet-mark=prio1 parent=\
    queue-vlan51 queue=default
/ip firewall mangle
add action=set-priority chain=postrouting comment="From dscp high 3 bits" \
    new-priority=from-dscp-high-3-bits
add action=mark-packet chain=postrouting comment="Priority 0" \
    new-packet-mark=prio0 priority=0
add action=mark-packet chain=postrouting comment="Priority 1" \
    new-packet-mark=prio1 priority=1
add action=mark-packet chain=postrouting comment="Priority 2" \
    new-packet-mark=prio2 priority=2
add action=mark-packet chain=postrouting comment="Priority 3" \
    new-packet-mark=prio3 priority=3
add action=mark-packet chain=postrouting comment="Priority 4" \
    new-packet-mark=prio4 priority=4
add action=mark-packet chain=postrouting comment="Priority 5" \
    new-packet-mark=prio5 priority=5
add action=mark-packet chain=postrouting comment="Priority 6" \
    new-packet-mark=prio6 priority=6
add action=mark-packet chain=postrouting comment="Priority 7" \
    new-packet-mark=prio7 priority=7