Simple queues problems with performance

I want to just graph (via cacti) how much traffic each of these queues are doing. This actually works fine, but on any router once the traffic starts to get going the whole internet starts to get sluggish and very poor performance. Even though the CPU is reporting that there is still low usage (30-40%). I’ve had this problem on wireless bridges that I’ve tried this on and routers that actually pass traffic.

I am not really trying to control anything other than p2p and the rest it is nice to just see how much traffic each thing is doing. I’m planning on adding more port/protocols later.

Can you find anything wrong with this? Why does every router I put this through start to choke and die as soon as any significant speed goes through it? Can someone give me an example of doing this a different way using queue trees?

/ip firewall mangle
add action=mark-connection chain=prerouting comment=HTTP disabled=no
dst-port=80 new-connection-mark=http_conn passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=“” connection-mark=http_conn
disabled=no new-packet-mark=http passthrough=no
add action=mark-connection chain=prerouting comment=ICMP disabled=no
new-connection-mark=icmp_conn passthrough=yes protocol=icmp
add action=mark-packet chain=prerouting comment=“” connection-mark=icmp_conn
disabled=no new-packet-mark=icmp passthrough=no
add action=mark-connection chain=prerouting comment=NNTP disabled=no
dst-port=119 new-connection-mark=nntp_conn passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=“” connection-mark=nntp_conn
disabled=no new-packet-mark=nntp passthrough=no
add action=mark-connection chain=prerouting comment=“SSL " disabled=no
dst-port=443 new-connection-mark=nntp_conn2 passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=”" connection-mark=nntp_conn2
disabled=no new-packet-mark=nntp2 passthrough=no
add action=mark-connection chain=prerouting comment=SMTP disabled=no
dst-port=25 new-connection-mark=smtp_conn passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=“” connection-mark=smtp_conn
disabled=no new-packet-mark=smtp passthrough=no
add action=mark-connection chain=prerouting comment=POP disabled=no dst-port=
110 new-connection-mark=pop_conn passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=“” connection-mark=pop_conn
disabled=no new-packet-mark=pop passthrough=no
add action=mark-connection chain=prerouting comment=IMAP disabled=no
dst-port=143 new-connection-mark=imap_conn passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting comment=“” connection-mark=imap_conn
disabled=no new-packet-mark=imap passthrough=no
add action=mark-connection chain=prerouting comment=DNS disabled=no dst-port=
53 new-connection-mark=dns_conn passthrough=yes protocol=udp
add action=mark-packet chain=prerouting comment=“” connection-mark=dns_conn
disabled=no new-packet-mark=dns passthrough=no
add action=mark-connection chain=prerouting comment=P2P disabled=no
new-connection-mark=p2p_conn p2p=all-p2p passthrough=yes
add action=mark-packet chain=prerouting comment=“” connection-mark=p2p_conn
disabled=no new-packet-mark=p2p passthrough=no
add action=mark-connection chain=prerouting comment=“ALL OTHER” disabled=no
new-connection-mark=other_conn passthrough=yes
add action=mark-packet chain=prerouting comment=“” connection-mark=other_conn
disabled=no new-packet-mark=other passthrough=no



/queue simple
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=0/0 name=main parent=none priority=1 queue=
default-small/default-small target-addresses=0.0.0.0/0 total-queue=
default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=5M/5M name=ICMP packet-marks=icmp parent=main priority=1
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=1M/1M name=DNS packet-marks=dns parent=main priority=1
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=30M/30M name=http packet-marks=http parent=main priority=2
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=6M/6M name=SSL packet-marks=nntp2 parent=main priority=2
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=2M/2M name=POP3 packet-marks=pop parent=main priority=3
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=3M/3M name=SMTP packet-marks=smtp parent=main priority=3
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=2M/2M name=IMAP packet-marks=imap parent=main priority=5
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=256k/256k name=p2p packet-marks=p2p parent=main priority=8
queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=512k/512k name=nntp packet-marks=nntp parent=main priority=
8 queue=default-small/default-small total-queue=default-small
add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment=“”
direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=
0/0 max-limit=12M/12M name=other packet-marks=other parent=main priority=
3 queue=default-small/default-small total-queue=default-small

So nobody can find anything wrong with these? Am I doing it right?