Very slow upload speed - Please help!

Hi, I am experiencing extremely slow upload speeds (3-4 MB per sec, to the 800-1GB I should be having) and I wonder if it’s because my router has a poor config.

I have the default configuration and any change made it was randomly trying to solve this issue. I’m very far from an expert so I most likely wont be able to answer technical questions about it, I’m just a normal user at the moment.
I was hoping that some of the more experienced people could help me solve my issue, or provide some insight. I’d rather not have to put back the default router my ISP offered to me as it was giving me other issues.

I’ve searched how to print the config and this has been the result. Thanks in advance :slight_smile:
Config:

# 2025-02-05 15:06:04 by RouterOS 7.17.1
# software id = GFWJ-36SH
#
# model = C52iG-5HaxD2HaxD
# serial number = HEH08KF5KKZ
/interface bridge
add admin-mac=48:A9:8A:D6:D0:F4 auto-mac=no comment=defconf name=bridge
/interface vlan
add interface=ether1 name=vlan1-Digi vlan-id=20
/interface pppoe-client
add add-default-route=yes disabled=no interface=vlan1-Digi name=\
    pppoe-out1-Digi use-peer-dns=yes user=387715640@digi
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wifi channel
add disabled=no frequency=2412,2432,2472 name=ch-2ghz width=20mhz
add disabled=no frequency=5180,5260,5500 name=ch-5ghz width=20/40/80mhz
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk comment=LifterEmpowerDeviatorShell \
    disabled=no name=common-auth wps=disable
/interface wifi configuration
add country=Spain disabled=no name=common-conf security=common-auth ssid=\
    MikroTik-Alberto
/interface wifi
set [ find default-name=wifi1 ] channel=ch-5ghz configuration=common-conf \
    configuration.mode=ap .ssid=MikroTik-Alberto-5G disabled=no
set [ find default-name=wifi2 ] channel=ch-2ghz configuration=common-conf \
    configuration.mode=ap .ssid=MikroTik-Alberto-2G disabled=no
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge name=defconf
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wifi1
add bridge=bridge comment=defconf interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add interface=pppoe-out1-Digi list=WAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
    192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=change-mss chain=forward comment=\
    "Clamp MSS to PMTU for Outgoing packets" disabled=yes new-mss=\
    clamp-to-pmtu protocol=tcp tcp-flags=syn
add action=change-mss chain=output disabled=yes new-mss=clamp-to-pmtu \
    protocol=tcp tcp-flags=syn
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" \
    dst-port=33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/system clock
set time-zone-name=Europe/Madrid
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

router-config.rsc (7.31 KB)

First just to be clear. 3-4MB MB ps = 25-33 Mpbs.

Second: try disabling your mangle rules to see if that makes a difference.
Other than that can only suspect a cable issue somewhere.

Which mangle rules?
I mean, the two that are both disabled=yes? :open_mouth:
:laughing:

The mangle rules are indeed disabled.

My cable is a RJ45, didn’t give me any issues in the past. But I understand the problem might not be in the configuration of the router then. I’ll try to contact my ISP again and see if there is anything on their end they can double check, or send me a different router on their side to test the speed one more time.


Thanks in any case :slight_smile:

Generally speaking, in a simple configuration like yours, a (wrong) mangle rule is the only thing that may slow down something, other issues in configuration tend to be on/off, packets either go/through or they don’t, interface Is either natted or It Is not, routes are either active or they are not.

From what I understand your configuration seems fine, if It used to work and now It doesn’t anymore It may also be an issue with the hardware, but It would be strange, as that Is also in most cases on/off.

The probability that your ISP Is (accidentally) throttling your upload connection is (IMHO) low, but It Is definitely possible.

I think the problem is solved!
A technician came today to check with a router issued by the company and he was getting normal speeds. Then I asked him if he could test with the MikroTik, and he also got normal speeds. Ofc I was baffled, then I asked one more time if he could test using my cable, in case my RJ45 was fucked, but then again he got normal speeds.

So, puzzled, I spent over 2 hours checking windows configurations and posts using different wording to get different results. And eventually I came up with a post in a Windows forum that was complaining about an issue very similar to mine and how they solved it.
Apparently, my PC came with a preinstalled Killer Intelligence Center app, which controls the Ethernet controller, or that’s what I understood. This app has a mode called “Prioritization Engine” or something similar. This must’ve been working ok at the beginning but at some point it must’ve fucked up, because as soon as I turned it off (per the post instructions) it worked like a charm!

So I’m getting again 850-900 Mbps upload speeds.

Thanks to the people that tried to help. I will post this answer with my solution in case someone happens to stumble with a similar case and, like me, doesn’t know if something in his configuration is off.

Likely you have to thank Windows Update for the issue:
https://www.dell.com/community/en/conversations/xps-desktops/killer-prioritization-engine-caused-issues-for-some-web-sites/647fa2b2f4ccf8a8de84f215

Reminds me of this post…
http://forum.mikrotik.com/t/simple-ap-bridge-setup/126375/30