RB4011iGS+ Ethernet performance issue

Hi all,

I’m having some issues with Ethernet performance on RB4011iGS+. It seems that it can’t reach stable gigabit speeds on Tx and Rx has really low throughput. Also, the core utilization seems a little weird as Rx uses only one core whereas Tx uses two cores. The Ethernet ports are not bridged. I’ve tried disabling mostly everything in Firewall rules and Queue Trees to no avail, also tried different cables (Cat5e in all cases). Is that normal?

The topology is RB4011 (eth1) → TP-Link Gigabit Switch → PC.

Here are some screenshots of the tests




# nov/13/2020 14:34:40 by RouterOS 6.47.7
# software id = CD6G-3R1G
#
# model = RB4011iGS+
# serial number = D4480D4A32F9

/interface ethernet
set [ find default-name=ether1 ] advertise=100M-full,1000M-full
set [ find default-name=ether2 ] disabled=yes
set [ find default-name=ether3 ] disabled=yes
set [ find default-name=ether4 ] disabled=yes
set [ find default-name=ether5 ] disabled=yes
set [ find default-name=ether6 ] disabled=yes
set [ find default-name=ether7 ] disabled=yes
set [ find default-name=ether8 ] disabled=yes
set [ find default-name=ether9 ] disabled=yes
set [ find default-name=ether10 ] disabled=yes
set [ find default-name=sfp-sfpplus1 ] disabled=yes

/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 max-mru=1492 max-mtu=\
    1492 name=pppoe-out1 user=xxxxx@xxxxx.gr

/interface ethernet switch port
set 0 default-vlan-id=0
set 1 default-vlan-id=0
set 2 default-vlan-id=0
set 3 default-vlan-id=0
set 4 default-vlan-id=0
set 10 default-vlan-id=0

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des
/ip pool
add name=dhcp_pool0 ranges=10.27.231.21-10.27.231.49

/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=ether1 lease-time=3d name=\
    dhcp1

/queue type
set 0 kind=sfq
add kind=red name=redCustom red-avg-packet=1514

/queue tree
add bucket-size=0.01 max-limit=85M name=DOWN parent=ether1 queue=default
add name="1. VOIP" packet-mark=VOIP parent=DOWN priority=1 queue=default
add name="2. DNS" packet-mark=DNS parent=DOWN priority=2 queue=default
add name="3. ACK" packet-mark=ACK parent=DOWN priority=3 queue=default
add name="4. UDP" packet-mark=UDP parent=DOWN priority=3 queue=default
add name="5. ICMP" packet-mark=ICMP parent=DOWN priority=4 queue=default
add name="6. HTTP" packet-mark=HTTP parent=DOWN priority=5 queue=default
add name="7. HTTP_BIG" packet-mark=HTTP_BIG parent=DOWN priority=6 queue=\
    redCustom
add name="8. QUIC" packet-mark=QUIC parent=DOWN priority=7 queue=default
add name="9. OTHER" packet-mark=OTHER parent=DOWN queue=default
add bucket-size=0.01 max-limit=7300k name=UP parent=pppoe-out1 queue=default
add name="1. VOIP_" packet-mark=VOIP parent=UP priority=1 queue=default
add name="2. DNS_" packet-mark=DNS parent=UP priority=2 queue=default
add name="3. ACK_" packet-mark=ACK parent=UP priority=3 queue=default
add name="4. UDP_" packet-mark=UDP parent=UP priority=3 queue=default
add name="5. ICMP_" packet-mark=ICMP parent=UP priority=4 queue=default
add name="6. HTTP_" packet-mark=HTTP parent=UP priority=5 queue=default
add name="7. HTTP_BIG_" packet-mark=HTTP_BIG parent=UP priority=6 queue=\
    redCustom
add name="8. QUIC_" packet-mark=QUIC parent=UP priority=7 queue=default
add name="9. OTHER_" packet-mark=OTHER parent=UP queue=default

/ip settings
set allow-fast-path=no
/ip address
add address=10.27.231.1/24 interface=ether1 network=10.27.231.0

/ip dns
set servers=10.27.231.18

/ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1 src-address=\
    10.27.231.0/24
/ip route
add comment=system-internet-route distance=1 gateway=pppoe-out1

/tool bandwidth-server
set authenticate=no

Running bandwidth test on device being evaluated is not relevant at all. Bandwidth test itself is a CPU hog and often can’t fill “the pipe” due to CPU performance issues. If you want to test how RB4011 performs, then you should connect two devices (PCs), each to one of ports, then run iperf on both devices. You can either bridge both RB4011 ports (to test switching performance) or configure them as two distinct networks (to test routing performance).

BTW, you can run CPU profiler (Tools → Profile) to check which process consumes most of CPU. When running bandwidth test (from ROS) that process will likely eat vast majority of CPU resources). And yes, bandwidth test is AFAIK single-CPU-core process, it has been promised to make it multi-core in (near) future.

To fancy for me LOL, I just use Ookla;-PP

But this I found confusing
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1 src-address=
10.27.231.0/24

Not usual but after review should also work…
Dont see anything from avail info to cause slowdown.

That’s my NAT rule for the PPPoE connection i’m using to connect to the internet :stuck_out_tongue:



Thank you, I’ll give it a go when I can. :slight_smile:

Great if you have a Gigabit or better Internet connection, otherwise the Internet is going to be the limit and you’re not really testing your Ethernet.