GlusterFS服务器选项cluster.readdir优化控件是什么?

问题描述:

我一直在试图优化GlusterFS存储集群的小文件性能。GlusterFS服务器选项cluster.readdir优化控件是什么?

一些论坛帖子和博客文章似乎暗示设置cluster.readdir-optimize属性卷上,如:

$ gluster volume get test-share cluster.readdir-optimize on 

此选项的默认(作为GlusterFS V3.10)似乎是off,这让我觉得必须有一些折衷才能启用此功能。但是,我无法在任何地方找到任何解释这个选项的文档。

我想在生产中启用此选项之前了解此选项的功能。

正如有关GlusterFS git仓库commit message指出的那样,readdir-optimize选项支持以下功能:

把在由POSIX xlator 支持从返回筛选出目录的条目选择。 DHT现在会请求非第一个子过滤器来过滤掉 目录条目。

我不完全理解这是如何直接提高GlusterFS相对于小文件的性能。但根据GlusterFS documentation,BD xalator执行封装GlusterFS块后端的功能,并使GlusterFS卷由砖块组成,而砖块本身就是逻辑卷的底层。