[Samba] Samba performance issue

Fabien azertyzero at free.fr
Sat Jan 10 23:28:40 GMT 2009


Hello,

as you say, I also think it would be nice to mention the issue in the 
documentation to avoid people turning crazy !

If you need the filesystem to be mounted, did you try the fuse 
implementations ?

I found two : "SMB for Fuse" and "usmb". I haven't had time to try this 
out yet.

Regards,


Fabien


ales-76 at seznam.cz a écrit :
> Hello,
> 
> I can confirm that. I've tried smbclient from Samba 3.3.0rc2. It is considerably faster than cifs kernel module (version 1.52 from Linux 2.6.25). The file system is exported via Samba 3.0.33. Reading 700MB file (residing in the buffer cache) from the server I get:
> 
> cifs.ko ~ 30MB/s
> smbclient ~ 74MB/s
> 
> I needed to remove the NIC IRQ affinity to only one CPU as it got completely saturated at about 66MB/s (1GHz Pentium III). Still think that the machine would do more than 74MB/s, but it is much better than 30MB/s anyway. Unfortunately I need the share mounted as a regular file system, so I'm gonna stick with the kernel implementation. One day I will try using jumbo frames, but for the moment I'm stuck with 1500b frames. In regards to the question Fabien has raised - I think Steven French has the performance optimization in TODO section for the cifs module, but he only knows when he gets there. Haven't asked him though. Anyway thanks for the help.
> 
> Regards
> 
> Aleš 
> 
> P.S.: The performance problems of various SMB/CIFS clients should probably be mentioned in Samba docs, that would prevent people from asking the same questions over and over again. Might even force Steven to fix the cifs kernel module ;-)
> 
>> ------------ Původní zpráva ------------
>> Od: Volker Lendecke <Volker.Lendecke at SerNet.DE>
>> Předmět: Re: [Samba] Samba performance issue
>> Datum: 05.1.2009 21:42:42
>> ----------------------------------------
>> On Mon, Jan 05, 2009 at 08:25:34PM +0100, Fabien wrote:
>>> I've seen I'm not the only one impacted with this issue these times on 
>>> the mailing list :)
>>>
>>> I did the following test (Debian packages) :
>>>
>>> Server & Client : samba 3.2.5
>>> mount -t smbfs : ~35Mo/s
>>> mount -t cifs : ~35Mo/s
>>> smbclient : ~80Mo/s
>>>
>>> Server & Client : samba 3.0.24
>>> mount -t smbfs : ~35Mo/s
>>> mount -t cifs : ~35Mo/s
>>> smbclient : ~60Mo/s
>>>
>>> This is the first time I try smbclient.
>>>
>>> There is a real big difference between mount and smbclient !
>>>
>>> And it seems to be better to use the 3.2.5 version which is ~ 20Mo/s 
>>> better than the 3.0.24 version.
>>>
>>> Again, all of this was tested without using the disks (buffer cache).
>>>
>>> Do you know where does this difference comes from ?
>> It's the latencies that kill performance. Given the
>> request->response nature of the protocol with a limited
>> request size (no matter how large you make them), you can
>> only get a certain number of round trips per second.
>> smbclient 3.2 and even more in upcoming 3.3 hides those
>> latencies by issuing more than one request at the same time
>> using the "Multiplex ID" field in the SMB header properly.
>> Neither cifs nor smbfs do this.
>>
>> Volker
>>
>>
>>


More information about the samba mailing list