[Samba] Third Try: Huge number of small files performance regression from 3.5.16 to 4.6.5 with identical smb.conf

awl1 awl1 at mnet-online.de
Fri Jul 14 18:24:36 UTC 2017


Sorry, Jeremy,

looks like we need to reiterate through those changes, as I am 
constantly wondering whether just the one single line above, or all lines:

Am 14.07.2017 um 19:41 schrieb Jeremy Allison via samba:
> On Fri, Jul 14, 2017 at 04:19:09PM +0200, awl1 wrote:
>> [global]
>> server string = %h
>> max open files = 100000
>> deadtime = 15
>> dead time = 15
>> hide unreadable = yes
> Remove the above. Causes security descriptor lookup for every directory entry.
Remove just the one line "hide unreadable", correect?
>> load printers = no
>> log file = /var/log/samba.%m
>> max log size = 50
>> strict locking = no
>> lock directory = /var/samba
>> encrypt passwords = yes
>> case sensitive = true
>> default case = lower
>> preserve case = yes
>> short preserve case = yes
>> passdb backend = tdbsam
>> socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
> Remove the above - voodoo bullsh*t not needed on modern kernels.
Remove just the one line "socket options", correct?

>> aio read size = 1
>> aio write size = 1
>> write cache size = 2097152
> REMOVE THE ABOVE WITH PREJUDICE !!!!!
As you already stated, removed just the one line "write cache size".

>> read raw = yes
>> write raw = yes
> Remove the above - only needed for SMB1.
Do you indeed mean only one line here, i.e. keep "read raw"!, but remove 
"write raw"? Or rather remove both (which I assume)...

>> min receivefile size = 0
>> use sendfile = yes
>> large readwrite = yes
> Remove the above. SMB1 only.
Just the "large readwrite"? Again, I tend to think you might want me to 
remove all three, correct?

>> max xmit = 32768
> Remove the above. May have devastating effects.
Done.

>> getwd cache = true
>> map untrusted to domain = yes
>> os level = 1
>> local master = yes
>> unix extensions = yes
>> domain master = no
>> preferred master = no
>> dns proxy = no
>> dos charset = CP850
>> unix charset = utf8
>> client ldap sasl wrapping = seal
>> allow trusted domains = yes
>> idmap uid = 20000-60000000
>> idmap gid = 20000-60000000
>> winbind separator = +
>> winbind nested groups = yes
>> winbind enum users = yes
>> winbind enum groups = yes
>> create mask = 0644
>> winbind use default domain = yes
>> map acl inherit = yes
>> nt acl support = yes
>> #map system = yes
>> bind interfaces only = yes
>> interfaces = lo,bond*
>> guest account = nobody
>> map to guest = Bad User
>> guest only = yes
>> follow symlinks = no
>> block size = 262144
>> dfree cache time = 5
>> large readwrite = yes
> Remove the above. SMB1 only.
Another occurrence (duplicate) of "large readwrite" - thanks to 
Thecus... :-(
Removed.

>
>> getwd cache = yes
>> oplocks = yes
>> kernel oplocks = yes
> Remove the above. If you're not sharing via
> multiple protocols then this will make things
> worse.
All three lines, or both lines dealing with "oplocks", or indeed only 
the single line "kernel oplocks"?

>> veto files = /folder.db/.AppleDouble/.AppleDB/.bin/.AppleDesktop/Network Trash Folder/:2eDS_Store/.DS_Store/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.AppleDBcnid.lock/.VolumeIcon.icns/.Temporary Items/.Parent/.HSicon/._*/:*/
>> veto oplock files = /J0*.WMF/*_.GIF/J0*.JPG/*_.WMF/
> Remove the two lines above. Why are they needed ?
Please don't ask me - this is Thecus' voodoo for supporting Macs? (I 
have a Windows/Linux/Solaris-Illumos only environment.)

Thanks a million one more time
Andreas




More information about the samba mailing list