[Samba] Small file performance

Volker Lendecke vl at samba.org
Wed Jan 11 09:57:04 UTC 2017

On Wed, Jan 11, 2017 at 08:29:25AM +1100, John Gardeniers wrote:
> Hi Volker,
> On 10/01/17 16:41, Volker Lendecke via samba wrote:
> >On Tue, Jan 10, 2017 at 08:24:35AM +1100, John Gardeniers via samba wrote:
> >>Hi Volker,
> >>
> >>Thanks for the response. The clients are Win 7, Win 10 and various flavours
> >>of Linux, with Samba client versions ranging from 3.6 to 4.5.3. There is no
> >>perceptible difference between any of them.
> >>
> >>Network latency is never above 0.2s and mostly sits at around 0.1s. If
> >>that's a problem it is so only for Samba.
> >How does Windows server side perform?
> Huh? We're using Samba, not Windows Server. However, Servers are all on a

I was trying to nail down how much would be to attribute to Samba
itself and how much to the client, protocol an network in between. For
that a comparison to a Windows server in the same location would be

> For the sake of testing I set up a Windows Server 2008 machine and ran the
> same test. The overall speed is more than 3 times as fast.

Ok, so Samba is a factor of 3 or more slower. That's bad, and we need
to do something about it.

> There are multiple smbd processes, so I'm going to assume you mean the
> parent. The trace was run while copying the same test directory from a Win 7

No, I mean the process doing the work for an individual client. The
parent is not helpful in this respect, sorry. You can find out which
smbd is responsible for your test client using the smbstatus command.
There you will find a list of entries, grep for the client's IP
address and you might be able to figure out a process ID.

> machine to the CentOS 6 test server, which is currently running Sernet Samba
> 4.5.3. Running strace killed the performance in a really major way, so I
> didn't finish copying the full test set.

Right, strace does kill performance. However, I am surprised that
stracing the parent kills performance so badly.

> The full trace I got compressed to about 18MB, which is a bit large, so I've
> attached a subset which is from the start to a chunk into where the copying
> took place. Please let me know if you need more than that.

Yes, I need more than that. I need it while it is running full steam.
Please make sure that you trace the smbd that is responsible for your
client. I am afraid that this will slow down your client, but there is
not much that Samba can be blamed for in this respect. But it will
still gather valuable information assuming you are able to catch the
main worker smbd that is responsible for your client.


More information about the samba mailing list