dhananjay.tembe@calsoftinc.com
2007-Mar-19 23:21 UTC
TC not working well with bonded nics please help
Hi, I am facing a problem when I run tc on the bonded nic cards. When I run tc on a single nic card, it worked perfectly fine. But when I run tc on a bond of two nics, tc gives poor performance. The two nics were bonded in round-robin (load balancing) mode. I created a qdisc, class and a filter as follows: tc qdisc add dev bond0 root handle 1: htb tc class add dev bond0 parent 1: classid 1:1 htb rate 240mbps tc class add dev bond0 parent 1:1 classid 1:2 htb rate 50 ceil 50 quantum 1500 I started a TCP traffic between this bond (2gbit bandwidth) and a remote nic (1gbit bandwidth). Without qos, bond was transmitting at 960Mbps. After I executed above mentioned commands, it was expected that the bond will transmit at 400Mbps but it was transmitting only at 70Mbps. Same thing was observed with different qos rates for class 1:2, outbound traffic through bond was very less than the rate specified in the tc command. Is getting poor performance after running tc over a bond is a known issue? Please help me with this issue. Thanks and regards, ---Dhananjay.
Rodolfo Brasnarof
2007-Mar-20 03:41 UTC
Re: TC not working well with bonded nics please help
On Tue, 20 Mar 2007 04:51:53 +0530 (IST) dhananjay.tembe@calsoftinc.com wrote:> > Hi, > I am facing a problem when I run tc on the bonded nic cards. > When I run tc on a single nic card, it worked perfectly fine. But > when I run tc on a bond of two nics, tc gives poor performance. The > two nics were bonded in round-robin (load balancing) mode. I created > a qdisc, class and a filter as follows: > > tc qdisc add dev bond0 root handle 1: htb > tc class add dev bond0 parent 1: classid 1:1 htb rate 240mbps > tc class add dev bond0 parent 1:1 classid 1:2 htb rate 50 ceil 50 > quantum 1500 > > I started a TCP traffic between this bond (2gbit bandwidth) and a > remote nic (1gbit bandwidth). > Without qos, bond was transmitting at 960Mbps. > After I executed above mentioned commands, it was expected that the > bond will transmit at 400Mbps but it was transmitting only at 70Mbps. > Same thing was observed with different qos rates for class 1:2, > outbound traffic through bond was very less than the rate specified > in the tc command. > > Is getting poor performance after running tc over a bond is a known > issue? Please help me with this issue.Perhaps you can use an IMQ device for traffic control/shaping.
* dhananjay.tembe@calsoftinc.com wrote, On 19/03/07 23:21:> Hi, > I am facing a problem when I run tc on the bonded nic cards. > When I run tc on a single nic card, it worked perfectly fine. But when I > run tc on a bond of two nics, tc gives poor performance. The two nics > were bonded in round-robin (load balancing) mode. I created a qdisc, class > and a filter as follows: > > tc qdisc add dev bond0 root handle 1: htb > tc class add dev bond0 parent 1: classid 1:1 htb rate 240mbps > tc class add dev bond0 parent 1:1 classid 1:2 htb rate 50 ceil 50 quantum > 1500I may have missed something, but why did you expect a transmit rate of 400mbps? Has anything else changed besides the bond? If your traffic is not sent evenly and burst or cburst aren''t big enough to buffer the data until transmit, then it will be dropped reducing your throughput. How are you calculating the transmit rate; is the transmit rate actually 70mbps or is that the tcp send rate, maybe due to retransmission because of tc drops? Sam