[Samba] Samba performance issue

Aleš Bláha ales-76 at seznam.cz
Fri Jan 2 16:54:11 GMT 2009


Hi there,

I've got similar problem as Fabien. The configuration is as follows:

server:

2x Intel Pentium III @ 1GHz
1GB RAM
Compaq SmartArray 431 RAID controller
Seagate Medalist 3.2GB - system disk
2x Seagate Cheetah, 18GB, 15k RPM in RAID 0 - Samba share
Intel 82540EM GbE NIC

client:

Compaq NC6220 laptop

Intel Pentium M @ 1.73GHz
512MB RAM
Fujitsu 40MB ATA
Broadcom BCM5751M GbE NIC

switch:

Dlink DGS-1005D 5-port, unmanaged GbE switch

Both computers run Gentoo Linux 2008, kernel 2.6.25-r9, server runs Samba 3.0.33, client mount.cifs 3.0.30.
The underlying filesystem for Samba is Ext3 with xattr and acls. I wasn't able to break 32MB/s (250Mbps)
transfer speed neither reading nor writing to the server. The disk subsystem of the server is capable of 60MB/s
and generaly the hardware is not the bottleneck. Neither is the network - the bw_tcp from LMbench suite shows
around 108MB/s with 1500b messages, which is what I would expect from GbE & TCP/IP. I've been tinkering with
very much all the knobs the linux's TCP/IP stack has, the same goes for smb.conf - to no avail. The only thing
I couldn't test are Jumbo frames, because the BCM5751M doesn't support them. Unfortunately I can't post
my smb.conf, as I am off today, but I can post it later.  However, I have find out that having several
reads (or writes) pending increases the transfer speed up to 108MB/s, which proves that the hardware is not
the bottleneck: I've created a 500MB file on the server and as it fits into the buffer cache the disk subsystem's
limits are eliminated. Then I opened it ten times with 'dd if=/mnt/samba/examplefile of=/dev/null &' and this way
I was able to saturate the GbE network. But I would like to read and write to Samba close to the hw speed within
one tcp session. I was not able to manage that and after some googling on the Internet I've found out that I'm not
the only one suffering from this issue. Does Samba scale to gigabit speed within one opened tcp session?
Limitition of SMB protocol? Or is it linux TCP/IP stack issue? Any suggestions?

Thank you in advance

Ales Blaha


More information about the samba mailing list