samba throughput decreases to 50% when using linux bonding device

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


Hi,

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 
Hardware)
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 
packet.

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 
samba?
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

Hansjörg

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







More information about the samba-technical mailing list