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

Rowland Penny rpenny at samba.org
Fri Jul 14 18:43:13 UTC 2017


On Fri, 14 Jul 2017 20:24:36 +0200
awl1 via samba <samba at lists.samba.org> wrote:

> 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
> 
> 

Do want to tell him Jeremy, or shall I ?

What you might ask, the answer is, You could remove about 95% of your
smb.conf and still have a working standalone server ;-)

Can I suggest you go and read this:

https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server

Rowland



More information about the samba mailing list