Does lustre have mount options to mimic  NFS mount option behavior , listed 
below? 

 

I know in most cases,  Lustre would perform much better than NFS and can scale 
and support a lot of clients in parallel.   I have a use case,  where there are 
only few clients accessing the filesystem and the files are really small, but 
in millions and files are very infrequently updated.   The files are stored on 
an NFS server and its mounted on the clients with the below mount options, 
which results in caching of file attributes/metadata on the client and thus 
reduces # of calls to metadata and delivers better performance.  

 

NFS mount options

type nfs (rw,nolock,nocto,actimeo=900,nfsvers=3,proto=tcp)

 

A custom proprietary application which compile (make command) on some of these 
files takes 20-24 seconds to run.  The same command when ran on the same files 
stored in BeeGFS parallel filesystem takes 80-90 seconds (4x times slow),  
mainly because there is no client caching in BeeGFS and client has to make a 
lot more metadata calls compared to NFS cache file attributes. 

 

Question

I already tried BeeGFS and I am asking this question to determine, if Lustre 
performance would be better than NFS for very small file workloads (50 bytes, 
200 bytes, 2KB files) with 5 millions files spread across nested directories.  
Does lustre have mount options to mimic  NFS mount option behavior, listed 
below? Or is there some optional feature in Lustre to achieve this cache  
behavior? 

 

 

 

https://linux.die.net/man/5/nfs

 

ac / noac

Selects whether the client may cache file attributes. If neither option is 
specified (or if ac is specified), the client caches file attributes.

 

For my custom applications,  cache of file attributes is fine (no negative 
impact) and it helps to improve performance of NFS.   

 

actimeo=n

Using actimeo sets all of acregmin, acregmax, acdirmin, and acdirmax to the 
same value. If this option is not specified, the NFS client uses the defaults 
for each of these options listed above.

For my applications, it’s okay to use cache file attributes/metadata for few 
mins (eg: 5mins)  by setting this value, it can reduce # of metadata calls been 
made to the server and especially with filesystems storing lot of small files,  
it’s a huge performance penalty, which can be avoided.   

 

nolock

 

When mounting servers that do not support the NLM protocol, or when mounting an 
NFS server through a firewall that blocks the NLM service port, specify the 
nolock mount option. Specifying the nolock option may also be advised to 
improve the performance of a proprietary application which runs on a single 
client and uses file locks extensively.

 

 

Appreciate any guidance.  

 

Thanks,

pinkesh valdria

_______________________________________________
lustre-discuss mailing list
lustre-discuss@lists.lustre.org
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Reply via email to