[Gluster-devel] Could we not always call lookup for root_dir in fuse_getattr to improve performance?
Zhitao Li
zhitaoli1201 at outlook.com
Fri Mar 24 06:57:15 UTC 2017
Hello, everyone!
I am now optimizing the performance of "ls". When there are many little files directly in mount point(root dir of glusterfs), I find that fuse_getattr takes near half time of total "ls". Strictly, the nodeid==1 check in fuse_getattr will call look operation instead of stat, and lookup will always miss the md-cache, so it will do real lookup and cost about 3ms a time in my case.
I doubt whether the special check of nodeid==1 is necessary. I disable the check, it works normal for ls. However, in the "tests" of gluster, it fails(quorum.t). In that case, lookup in root_dir is essential.
Up to now, we know that lookup bring high cost in fuse_getattr and it is essential in some case. Could anyone give some advice to improve fuse_getattr(lookup in root_dir) without bringing bugs?
I have been trying to deal with this for many days. Your help is greatly in need.
Best regards,
Zhitao Li
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20170324/446609ed/attachment.html>
More information about the Gluster-devel
mailing list