I have read some of the other posts as well on this, I’m seeing 50Mbps (22.5/22.5 on each link) instead of closer to 200Mbps. Is there a working cure for this or is that what I’m stuck with? UDP performs perfectly fine, its TCP traffic that has the performance issue. This is between two RB450G’s running a pair of rockets in between. I get the normal 100Mbps one way with a only a side of the bond plugged in.
Please describe how are you testing this link? Are you using the same routers with bonded interfaces for generating traffic? What is the CPU load?
I have tried everything, simple file transfer between two windows machines, bandwidth test from RB’s without capping its resources. btest from client to opposite end RB450g.
I have also tried something suggested by another user, send 3 200MB files across and see if the throughput increases, it did not.
Anyone have anything on this? I have tested both on RB450G’s and RB750’s. both pairs of them are seeing 200Mbps UDP easily, but only 50Mbps tops on TCP 22.5Mbps on each interface in the bond. I have tested with a simple copy of a file on the network, as well as the bandwidth tool test on the RB’s and the bandwidth tool test from a windows machine to the far side RB.
I find it hard to believe that its only achieving 50Mbps half duplex with TCP traffic.
You are probably using balance-rr as bonding mode - there is no packet reordering in router os,
and therefore TCP will get frequent pipeline-stalls because of packets arriving out-of-order.
Try a different bonding mode (balance-xor) - but that will require you to make more than one concurrent TCP
connection to experience any speedup.
The clients are doing the reordering of the packets, I do see a bunch of re transmissions, but I didn’t think the overhead would be so large.
balance-rr works good
care to share your configuration? especially the bridge setup. my bond it identical, and I bridge the bond and an ether port that is connected to switches. Mine do carry vlans, but I’m seeing terrible performance with TCP, UDP is fine. TCP obviously is doing some re transmissions and the re ordering is happening on my clients.
I’ve bridge everything: bonding, ether3,ether4,ether5. E1 and E2 can’t be bridged because they are in bonding ofcourse. In TCP speed is ~240mbps, as you can see in the picture only 230mbps is UDP and generated, rest is real traffic.
Ok, are you doing anything special on the other side of things? are these connected to switches? I am bonding ether2 and ether3 and bridging bond and ether4.
ether4 is connected to a trunk port on a switch that is carrying 2 vlans. The only difference I see is my L2 MTU on my bridge is setting itself to 65535
Have you manipulated any of the settings inside the bridge?
Oh also in your screenshot it shows that 130.3Mbps is UDP from the bandwidth test you have running, that would mean 50Mbps or so TCP. That lines up with my maximum transmissions as well for TCP. Are you for sure you can go higher than 50Mbps on that bonding?
Do the math again and read 2 posts up.
I see it, 130.3Mbps from your bandwidth test is UDP, the rest is real traffic. I can’t do tx and rx 50Mbps, mine is one way tops.
So again is there anything tweaked in the bridge at all? everytime I add the bridge it adds a L2 MTU of 65535. yours is 1520.
230mbps is UDP generated and 100mbps is TCP traffic. No settings except bonding, bridge and IP.
Yup then I have the same exact internal setup as you.
maybe rockets are the problem
Did you asign IP to bonding interface or bridge ?
Hi There,
I’ve the same problem as whoknew.
I’ve one RB750 one each side of link with same configuration, ether2 & ether3 are slaved to bonding1 and ether1 is bridged to bonding1.
Bonding configuration is arp and balance-rr.
in UDP test, I get 200+ Mbps of throughput but on TCP the maximum throughput is about 45Mbps.
please help. thanks
problem resolved by changing the “balance rr” “to balance alb”. it works fine.