samba throughput decreases to 50% when using linux bonding device

Hansjörg Maurer hansjoerg.maurer at
Sun Jul 24 11:35:41 GMT 2005


we have a samba server running on RHEL3 with two Gigabit e1000 NIC's 
bonded together
to an LACP Trunk (Switch support LACP Trunking)
With this setup we achive ftp transferrates of about 110MByte/s.
But we recognice only a poor samba transferrate of about 28MB/s.
We then made some tests without the trunking Interfaces, (almost same 
and the throughput doubles.
Here is the setup (the row with the X is the switch).
rmvbs01 = X = rmvbs03
..                X
..                X
rmvb01 -   X - rmvb02

rmvbs01 and rmvbs02 are connected to the switch with an LACP Trunk,
rmvb01 and rmvb02 with a single ethernet interface.

transferrates (measured with smbclient and 500MB files):
rmvbs03 -> rmvbs01:     28MB/s
(compared to  ftp rmvbs03 -> rmvbs01 (1.2e+05 Kbytes/s))
rmvbs03 -> rmvb01:      35MB/s  
rmvb02   -> rmvb01:      53MB/s
rmvb02    -> rmvbs01:    39MB/s 

I  captured the traffic of a 10MB transfer and recogniced, that
- in the fast case, about 400 packets are captured within one 0.01 seconds.
Alle the 400 packets have the same timestamp (up to 1microsecond)
- in the slow case time increment of about 5 microseconds from packet to 

The fast tranfer takes 0.22 seconds, the slow one 0.43 seconds.
Does anyone have an idea, what could be the reason for this behavior?

NFS and ftp performe very well over the trunk.
Are there special socket options, which should be used for trunking with 
If tried to bind the interface to the bond0  trunk only with no improvement.
Adjusting buffersizes, etc increases and decreases throughput in both 
cases equally.
Using an broadcom NIC with bcm5700 driver shows the same behavior.

Thank you very much


PS: Give my a note, if I should put the traffic capture on our ftp server

More information about the samba-technical mailing list