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

Jeremy Allison jra at samba.org
Fri Jul 14 18:37:04 UTC 2017


On Fri, Jul 14, 2017 at 08:24:36PM +0200, awl1 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?

Yes.

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

Yes.

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

Yes.

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

Both read raw and write raw.

> >>min receivefile size = 0
> >>use sendfile = yes
> >>large readwrite = yes
> >Remove the above. SMB1 only.
> Just the "large readwrite"?

Yes.

> Again, I tend to think you might want me
> to remove all three, correct?

No.
> >>max xmit = 32768
> >Remove the above. May have devastating effects.
> Done.
> >>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"?

Oh yes - change the 'oplocks/kernel oplocks' lines to read:

        kernel oplocks = no
        kernel change notify = no
        smb2 leases = yes


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

Yes, they are mac voodoo.



More information about the samba mailing list