[Samba] Samba 4 slow write

Ervin Hegedüs airween at gmail.com
Wed Apr 22 04:43:40 MDT 2015


Dear Jones,

many-many thanks for your answers, and for your times...

On Wed, Apr 22, 2015 at 04:50:42PM +0800, Jones Syue wrote:
> Hello Ervin,
>> 
> > Do you mean that this is the "normal" way? These geteuid and
> > getegid system calls are so slow?
> >
> 
> >> ​% time     seconds  usecs/call     calls    errors syscall
> ​>> ​
> ------ ----------- ----------- --------- --------- ----------------
> ​>> ​
>  15.68   15.894980           4   4398791           getegid
> >> 15.57   15.783699           4   4398801           geteuid​
> 
> Hmm yeap
> ​as earlier mentioned,
> both system calls are top 2 and more than 30% during compiling.
> 
> ​As​
>  'perf top' call graph depicted,
> gete{uid, gid} will go through samba stacks, glibc,
> and syscalls to reach kernel finally,
> this critical path spent time on stack push-pop, context switches, etc.

yes, that's clear for me,
 
> > On the previous system (Debian Wheezy, Samba 3) I've also used
> > ACL's, but there were much faster than this...
> >
> > What should be the solution? Do you have any idea?
> >
> 
> Hmm my guess the difference is made by in-memory cache lookup[1],
> samba-3 with it.
> But samba-4 without it,
> so non-admin users reach gete{uid, gid} heavily,
> admin users could ease this pain because earlier return by
> get_current_uid().

ok, this is new for me - but I don't know, what can I do now...

> Here is my test to imply this guess,
> test-bench is uploading 5,000 files and each one is 1MB.
> 
> Case A) samba-3.6.25 without modification,
> strace show nothing through gete{uid, gid},
> and spent 85 seconds on uploading.
> 
> Case B) Remove cache lookup from samba-3.6.25,
> strace show syscalls to gete{uid, gid},
> and spent 100 seconds on uploading.

this isn't a relevant different, the elapsed time increased by
25% about - but in my case, the elapsed time increased by more,
that 1000%... (the compile time was about 8 seconds - take a look
it as 10 secs - on Samba 3, on Samba 4 that's about 100 secs).

So, the big question is what can I do now? There isn't Samba 3
package in Ubuntu, so I can't downgrade it :(.


Thanks,


Ervin



More information about the samba mailing list