PCC Load Balancing Issues on RB450Gx4 – Slow Speed on One AP and Random Disconnect on Another AP

Hello everyone,
I’m still a beginner in MikroTik and I would like to ask for help regarding my PCC load balancing configuration. Below is my current setup, hardware information, bandwidth details, and configuration logic.

Hardware

  • Router model: MikroTik RB450Gx4

1. WAN Configuration

  • I have 2 DHCP Clients:

    • DHCP Client on ether1 (ISP 1)

    • DHCP Client on ether2 (ISP 2)

  • Both WAN interfaces receive dynamic IP addresses.

  • Total ISP bandwidth:

    • ISP 1 (ether1): 30 Mbps

    • ISP 2 (ether2): 100 Mbps

2. LAN Configuration

  • I have 3 DHCP Servers:

    • DHCP Server for ether3

    • DHCP Server for ether4

    • DHCP Server for ether5

3. IP Addressing

  • Total 5 IP addresses:

    • 2 dynamic IPs from DHCP Clients (ether1 and ether2)

    • ether3: 192.168.10.2

    • ether4: 192.168.20.2

    • ether5: 192.168.30.2

4. DNS

  • DNS servers used:

    • 8.8.8.8

    • 1.1.1.1

5. NAT

  • NAT configuration follows common tutorials:

    • Masquerade via ether1

    • Masquerade via ether2

6. Mangle Configuration

a. Accept Rules

  • There are 5 mangle rules with action=accept

  • Each rule is created for:

    • ether1

    • ether2

    • ether3

    • ether4

    • ether5

b. Mark Connection (WAN)

  • 1 connection-mark rule for ether1

  • 1 connection-mark rule for ether2

c. Mark Connection (LAN – PCC)

  • There are 13 PCC rules per LAN interface:

    • ether3

    • ether4

    • ether5

  • PCC method: src-address

  • Ratio used: 13/12

d. Mark Routing

  • There are 2 routing-mark rules

  • Applied to traffic coming from:

    • ether3

    • ether4

    • ether5

e. Output Chain

  • There is an output chain rule to mark router-generated traffic.

7. Routes

  • In IP → Routes, I have 2 routes:

    • One default route via ether1

    • One default route via ether2

8. Bandwidth Limitation (QoS)

  • Bandwidth limitation is applied on LAN ports:

    • ether3 is limited to 50 Mbps

    • ether4 is limited to 50 Mbps

  • Bandwidth control is implemented using:

    • Simple Queue

    • PCQ (Per Connection Queue)


Problems Encountered

  1. Issue on ether4 (Access Point 1)
    ether4 is connected to an access point.
    The internet speed becomes progressively slower as more users connect to the access point.

  2. Issue on ether3 (Access Point 2)
    ether3 is connected to a second access point.
    Devices connecting through Access Point 2 initially access the internet normally, but after 2–3 minutes the connection suddenly disconnects.
    After that:

    • The SSID of Access Point 2 is no longer visible on the client device.

    • To make the SSID visible again, I need to unplug and reconnect the LAN cable between Access Point 2 and ether3.

Hi,

Please show the config, not the description of config.

What kind of AP do you use?

Network Environment

  • Router: MikroTik RB450Gx4

  • Access Points: UniFi Ubiquiti (model UniFi, operating mode unknown)

  • Load Balancing: PCC (src-address, ratio 13/12)

  • Bandwidth Control: Simple Queue using PCQ


DHCP Pools

/ip pool
add name=dhcp_pool1 ranges=192.168.20.1,192.168.20.3-192.168.20.254
add name=dhcp_pool2 ranges=192.168.10.1,192.168.10.3-192.168.10.254
add name=dhcp_pool3 ranges=192.168.30.1,192.168.30.3-192.168.30.254


DHCP Servers (LAN)

/ip dhcp-server
add name=dhcp1 interface=ether3 address-pool=dhcp_pool2 lease-time=12h
add name=dhcp2 interface=ether4 address-pool=dhcp_pool1 lease-time=12h
add name=dhcp3 interface=ether5 address-pool=dhcp_pool3 lease-time=12h

ether3 and ether4 are connected to UniFi Ubiquiti Access Points (model UniFi)


IP Addressing

/ip address
add address=192.168.10.2/24 interface=ether3 network=192.168.10.0
add address=192.168.20.2/24 interface=ether4 network=192.168.20.0
add address=192.168.30.2/24 interface=ether5 network=192.168.30.0


DHCP Clients (WAN)

/ip dhcp-client
add interface=ether1 default-route-tables=main
add interface=ether2 default-route-tables=main


DHCP Network

/ip dhcp-server network
add address=192.168.10.0/24 gateway=192.168.10.2
add address=192.168.20.0/24 gateway=192.168.20.2
add address=192.168.30.0/24 gateway=192.168.30.2


DNS

/ip dns
set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes


Simple Queue (PCQ Bandwidth Limitation)

/queue simple
add name="Balmon1" target=192.168.10.0/24 max-limit=50M/50M \
    queue=pcq-upload-default/pcq-download-default

add name="Balmon2" target=192.168.20.0/24 max-limit=50M/50M \
    queue=pcq-upload-default/pcq-download-default


Routing Tables

/routing table
add name=TO-ISP1 fib
add name=TO-ISP2 fib


Firewall Mangle (PCC & Routing)

Accept / Bypass Local Traffic

/ip firewall mangle
add chain=prerouting action=accept dst-address=10.11.24.0/21
add chain=prerouting action=accept dst-address=192.168.1.0/24
add chain=prerouting action=accept dst-address=192.168.10.0/24
add chain=prerouting action=accept dst-address=192.168.20.0/24
add chain=prerouting action=accept dst-address=192.168.30.0/24

Mark Connection (Incoming WAN)

add chain=prerouting in-interface=ether1 action=mark-connection \
    new-connection-mark=ISP1

add chain=prerouting in-interface=ether2 action=mark-connection \
    new-connection-mark=ISP2

Mark Connection (LAN – PCC src-address 13/12)

Applied on ether3, ether4, ether5

# ISP1 (bucket 0–2)
add chain=prerouting in-interface=ether3 action=mark-connection \
    per-connection-classifier=src-address:13/0 new-connection-mark=ISP1
add chain=prerouting in-interface=ether3 action=mark-connection \
    per-connection-classifier=src-address:13/1 new-connection-mark=ISP1
add chain=prerouting in-interface=ether3 action=mark-connection \
    per-connection-classifier=src-address:13/2 new-connection-mark=ISP1

# ISP2 (bucket 3–12)
add chain=prerouting in-interface=ether3 action=mark-connection \
    per-connection-classifier=src-address:13/3 new-connection-mark=ISP2
...
add chain=prerouting in-interface=ether3 action=mark-connection \
    per-connection-classifier=src-address:13/12 new-connection-mark=ISP2

The same PCC rules are also applied to ether4 and ether5


Mark Routing

add chain=prerouting in-interface=ether3 connection-mark=ISP1 \
    action=mark-routing new-routing-mark=TO-ISP1
add chain=prerouting in-interface=ether3 connection-mark=ISP2 \
    action=mark-routing new-routing-mark=TO-ISP2

add chain=output connection-mark=ISP1 action=mark-routing new-routing-mark=TO-ISP1
add chain=output connection-mark=ISP2 action=mark-routing new-routing-mark=TO-ISP2


NAT

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade
add chain=srcnat out-interface=ether2 action=masquerade


Routes

/ip route
add dst-address=0.0.0.0/0 gateway=10.11.24.1 routing-table=TO-ISP1 \
    distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-table=TO-ISP2 \
    distance=1 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.11.24.1 routing-table=TO-ISP2 distance=2
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-table=TO-ISP1 distance=2

  • Access Points connected to ether3 and ether4 are UniFi Ubiquiti (UniFi series).

  • The exact operating mode of the UniFi APs is currently unknown.

Please do not send excerpts from config. Full config in one piece.

Closing topic as relized that it's a copy of PCC Load Balancing Issues on MikroTik RB450Gx4 (RouterOS v7): UniFi AP SSID Disappears and Performance Degradation