PCC Load Balance - Help Needed

Hi
Im sitting with a bit of a problem here, I’m the operations manager for a WISP in south africa, I implemented a new load balancer by using a mikrotik rb750 running 4 wan ports and 1 Local port.
The problems I have is the following:
IRC connections keep dropping every 10minutes on the dot
Getting packet drops to the realworld
Some people battle with https sites
Those issues are my biggest ones.

This is the script i used for my load balancer.

/ip address
add address=192.168.0.249/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local
add address=175.1.0.2/24 network=175.1.0.0 broadcast=175.1.0.255 interface=WAN1
add address=175.2.0.2/24 network=175.5.0.0 broadcast=175.5.0.255 interface=WAN2
add address=175.4.0.2/24 network=175.4.0.0 broadcast=175.4.0.255 interface=WAN3
add address=41.0.38.234/29 network=41.0.38.232 broadcast=41.0.38.239 interface=WAN4

/ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn
add chain=input in-interface=WAN3 action=mark-connection new-connection-mark=WAN3_conn
add chain=input in-interface=WAN4 action=mark-connection new-connection-mark=WAN4_conn

add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2
add chain=output connection-mark=WAN3_conn action=mark-routing new-routing-mark=to_WAN3
add chain=output connection-mark=WAN4_conn action=mark-routing new-routing-mark=to_WAN4

add chain=prerouting dst-address=175.1.0.0/24 action=accept in-interface=Local
add chain=prerouting dst-address=175.2.0.0/24 action=accept in-interface=Local
add chain=prerouting dst-address=175.4.0.0/24 action=accept in-interface=Local
add chain=prerouting dst-address=41.0.38.0/29 action=accept in-interface=Local

add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:4/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:4/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:4/2 action=mark-connection new-connection-mark=WAN3_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:4/3 action=mark-connection new-connection-mark=WAN4_conn passthrough=yes
add chain=prerouting connection-mark=WAN1_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN1
add chain=prerouting connection-mark=WAN2_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN2
add chain=prerouting connection-mark=WAN3_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN3
add chain=prerouting connection-mark=WAN4_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN4

/ip route
add dst-address=0.0.0.0/0 gateway=175.1.0.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=175.2.0.1 routing-mark=to_WAN2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=175.4.0.4 routing-mark=to_WAN3 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=41.0.38.233 routing-mark=to_WAN4 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=175.1.0.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=175.2.0.1 distance=2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=175.4.0.1 distance=3 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=41.0.38.233 distance=4 check-gateway=ping

/ip route
add dst-address=10.0.0.0/8 gateway=192.168.0.253
add dst-address=192.168.0.0/16 gateway=192.168.0.253

/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade
add chain=srcnat out-interface=WAN3 action=masquerade
add chain=srcnat out-interface=WAN4 action=masquerade

DNS
/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=221.132.112.8,8.8.8.8


I really hope that someone can tell me what is causing my problem.
Thnx in advance.

Well if that is only your configuration, then there should be no such problems. For problem you described you need to have ECMP routes with masquerade.

The script you posted works flawlessly for many networks that I have configured.

Try to play with PCC classifier , try different one’s like both-addresses, src-address-and-port, dst-address-and-port

Better read the following.
http://wiki.mikrotik.com/wiki/How_PCC_works_(beginner)
http://wiki.mikrotik.com/wiki/Manual:PCC

Try to use DNS server which is nearby your location, preferably your country’s ISP dns server. T.W is far away from your location :smiley:
Also its better to have local dns caching preferably on linux box.

Thanx for the replies.

Regarding the DNS - I have tried local DNS servers, I also now have my own dns servers (and yes they do resolve the dns names)
I tried playing with the PCC aswell - but the script thats I pasted is actually working the best for me but still have the issues as described in original post.

The only thing thats not been mentioned in original post -
The ISP’s im using - WAN1,2,3 is same ISP WAN4 is different.
all mys line speeds here are 4MB lines

In real contest rb750 can’t handle 4Mb bandwidth properly …I’ve got same issues with rb750…then i used rb450G …I don’t have any problem PCC load balancing with multiple ISP.