[Samba] understanding stat cache

Ulrich Sibiller ulrich.sibiller at eviden.com
Wed Nov 15 17:29:51 UTC 2023


Hi,

thanks for clarifying that.

I not really sure about the type of workload. Basically the application is building a model consisting of many files (size range: a few kB to a few MB, the largest one I have seen  is about 11MB) and scans some predefined search paths for them. The procedure that shows the slowness in run afterwards, manually triggered by the user. It exchanges one of the files by another one and rebuilds the model, reading many of  the files again, it seems. (I can neither run that myself nor do I have a deep understanding what the user is doing). But it is fact that the same operation with the Linux version of the app, accessing files via NFS, is much, much faster (seconds instead of minutes).

If the user moves the whole file tree to a local disk an repeats the procedure it is quick again.

I have now done this:
- switched to a new test server running Rocky8.8 and therefore Samba 4.17.5-3.
- explicitly set gpfs:getrealfilename = yes (although it should be on by default)

The user will test and we will see if there's a difference in performance.

Uli

-----Ursprüngliche Nachricht-----
Von: Ralph Boehme <slow at samba.org> 
Gesendet: Mittwoch, 15. November 2023 17:16
An: Ulrich Sibiller <ulrich.sibiller at atos.net>; samba at lists.samba.org
Betreff: Re: AW: [Samba] understanding stat cache

Hi,

On 11/15/23 09:33, Ulrich Sibiller wrote:
> Thanks for that hint about case sensitivity's performance penalty.
> 
> For clarifaction: The user is doing mainly reads, so does the "create" 
> you mention also cover opening/reading files?

no.

Is it a metadata heave small file workload? That will likely be somewhat slower compared to Windows, but not in the order of magnitudes.

Otoh there were a few regression in the gpfs module in recent months, so it might make some sense digging deeper why your workload performs so bad in this setup.

> If only
> _creation_ of files is suffering from that we probably have some 
> other/further performance issue.
> 
> We have gpfs, which does not offer a case-insensitive mode, neither 
> does the vfs_gpfs module.

the gpfs VFS module actually does support looking up files in a case-sensitive manner by using gpfs_get_realfilename_path() from libgpfs.

-slow

-- 
SerNet Samba Team Lead          https://samba.plus/
Samba Team Member                https://samba.org/
SAMBA+ packages                 https://samba.plus/
Worldwide Samba Support, Consulting and Development



More information about the samba mailing list