[Samba] Samba 4 slow write

Ervin Hegedüs airween at gmail.com
Thu Apr 23 04:39:51 MDT 2015


Hi Jones,

many thanks again four your help and your time.

Thanks for the patch too - I'll check it up.

On my Ubuntu, there is a Samba 4.1.6. I'll install the samba
source package, and will try to apply the patch, then - I hope -
the package will be compiled as well.

I'll notify to you about the result. (First, I need to upgrade
that server.)


Thanks again,


Ervin


On Thu, Apr 23, 2015 at 06:05:42PM +0800, Jones Syue wrote:
> Hello Ervin,
> 
> The in-memory cache lookup could be added back into
> samba-4.1.6 by applying the attached patch,
> if it could be compiled with Louis how-to steps,
> perhaps got the chance to make U14.04 be stayed on samba-4.
> 
> Here is my test,
> the test-bench is uploading 5000 files and each one is 1MB.
> The attached patch could improve 15% at case B).
> 
> Case A) Original samba-4.1.6
> will go through gete{uid, gid},
> and takes 100 seconds to finish the uploading.
> 
> Case B) Original samba-4.1.6 with patch
> will not go through gete{uid, gid},
> and takes 85 seconds to finish the uploading.
> 
> [A]
> % time     seconds  usecs/call     calls    errors syscall
> ------ ----------- ----------- --------- --------- ----------------
>  48.67    0.325333           2    165093           poll
>  24.18    0.161620           0    681677           read
>   7.58    0.050682           0    596650           write
>   4.43    0.029612           0   3753979           fcntl64
>   2.12    0.014164           0    165067           writev
>   2.00    0.013335           0    330139           readv
>   1.11    0.007445           0   1615613           geteuid32
>   1.09    0.007303           0   1615588           getegid32
>   1.03    0.006913           0    175074           open
>   0.83    0.005579           0     85025           fchmod
>   0.79    0.005256           0    520322           gettimeofday
>   0.74    0.004979           0    175924           close
>   0.63    0.004191           0    680256           setresuid32
>   0.60    0.004014           0    680256           setresgid32
>   0.52    0.003494           0    510193           setgroups32
>   0.51    0.003440           0    256181    145062 getxattr
>   0.46    0.003105           0    170051    170050 lstat64
>   0.45    0.003002           0    210137        10 stat64
>   0.33    0.002217           0    170052           munmap
>   0.30    0.002021           0    340100           alarm
>   0.30    0.002002           0    425125           getgroups32
>   0.28    0.001896           0    250052           _llseek
>   0.28    0.001849           0    170052           mmap2
>   0.25    0.001682           0    340100           rt_sigaction
>   0.18    0.001208           0    200097           fstat64
>   0.13    0.000878           0     25001           setxattr
>   0.09    0.000602           0     15000           SYS_320
>   0.03    0.000227           0     30000     20000 flock
>   0.03    0.000194           0      5000           ftruncate64
>   0.01    0.000067           0      6110           fstatat64
>   0.01    0.000050           0       850       850 connect
>   0.00    0.000032           0       850           socket
>   0.00    0.000022           0      5025           clock_gettime
>   0.00    0.000005           0        16           umask
>   0.00    0.000000           0         1           restart_syscall
>   0.00    0.000000           0         7           chdir
>   0.00    0.000000           0         1           time
>   0.00    0.000000           0        10           lseek
>   0.00    0.000000           0         3           brk
>   0.00    0.000000           0         1           ioctl
>   0.00    0.000000           0         8           dup2
>   0.00    0.000000           0         3           getcwd
>   0.00    0.000000           0        58           getdents64
>   0.00    0.000000           0         1           statfs64
> ------ ----------- ----------- --------- --------- ----------------
> 100.00    0.668419              14370748    335972 total
> 
> [B]
> % time     seconds  usecs/call     calls    errors syscall
> ------ ----------- ----------- --------- --------- ----------------
>  43.37    0.179108           1    165094           poll
>  30.78    0.127108           0    583223           read
>  12.26    0.050613           0    583220           write
>   3.16    0.013041           0   1567707           fcntl64
>   2.93    0.012118           0    165054           writev
>   2.47    0.010192           0    330138           readv
>   1.36    0.005609           1      5019           close
>   1.11    0.004604           0    520270           gettimeofday
>   0.67    0.002775           0    256181    145062 getxattr
>   0.53    0.002182           0    210091         3 stat64
>   0.42    0.001715           0      5019           open
>   0.30    0.001255           0     80004           _llseek
>   0.15    0.000600           0     25001           setxattr
>   0.14    0.000575           0     27275           brk
>   0.13    0.000521           0     15000           SYS_320
>   0.07    0.000284           0      5018           ftruncate64
>   0.05    0.000190           0     30048           fstat64
>   0.04    0.000161           0     30000     20000 flock
>   0.03    0.000108           3        40           munmap
>   0.02    0.000100           2        58           getdents64
>   0.02    0.000064           0      6110           fstatat64
>   0.01    0.000033           0      5005           clock_gettime
>   0.00    0.000010           0       327           pwrite64
>   0.00    0.000006           0        35           setresgid32
>   0.00    0.000000           0         1           restart_syscall
>   0.00    0.000000           0         5           chdir
>   0.00    0.000000           0         1           time
>   0.00    0.000000           0        10           lseek
>   0.00    0.000000           0         4           alarm
>   0.00    0.000000           0         1           ioctl
>   0.00    0.000000           0         2           umask
>   0.00    0.000000           0         1           dup2
>   0.00    0.000000           0         1           fchmod
>   0.00    0.000000           0         4           rt_sigaction
>   0.00    0.000000           0         3           getcwd
>   0.00    0.000000           0        40           mmap2
>   0.00    0.000000           0         3         2 lstat64
>   0.00    0.000000           0        80           geteuid32
>   0.00    0.000000           0        74           getegid32
>   0.00    0.000000           0         5           getgroups32
>   0.00    0.000000           0        25           setgroups32
>   0.00    0.000000           0        35           setresuid32
>   0.00    0.000000           0         1           statfs64
> ------ ----------- ----------- --------- --------- ----------------
> 100.00    0.412972               4615233    165067 total
> 
> --
> Regards,
> Jones Syue | 薛懷宗
> QNAP Systems, Inc.




More information about the samba mailing list