我一直在尝试优化GlusterFS存储集群的小文件性能。
许多论坛线程和博客文章似乎建议在卷上设置cluster.readdir-optimize
属性,例如:
$ gluster volume get test-share cluster.readdir-optimize on
这个选项的默认值(从GlusterFS v3.10开始)似乎是
off
,这使我认为启用这个特性必须有一些折衷。但是,我在任何地方都找不到任何文档来解释这个选项的作用。在生产中启用此选项之前,我想了解它的功能。
最佳答案
如相关GlusterFS git repositorycommit message中所述,readdir-optimize
选项支持以下内容:
引入posix xlator支持的选项
从返回的目录项中筛选出。
DHT现在将请求非第一个子卷过滤掉
目录条目。
我不完全理解这是如何直接提高GlusterFS相对于小文件的性能的。但是,根据GlusterFS documentationBD xalator执行包装GlusterFS块后端的功能,并使GlusterFS卷由本身是底层逻辑卷的块组成。