Glusterfs 分布式复制小文件性能

Glusterfs 分布式复制小文件性能

我在 hyperv 服务器(动态 vhdx)虚拟磁盘上的 xfs 分区上设置了 4 个使用 glusterfs 的分布式复制服务器。NIC 为 6x1Gbit(在 hyperv 上组合)。我通过 samba 将其共享给 Windows 客户端。我遇到的问题是,在处理大量小文件(读取和写入)时,性能非常差,当有大量 10k 文件时,我的传输速率约为 300kb(在本机客户端上也没有快多少)。有办法解决这个问题吗?还是我的配置不好?大文件传输很好(利用所有带宽)

答案1

我曾尝试使用 GlusterFS 进行 Web 应用程序部署,并在多个服务器之间共享大量用户上传的文件。我花了大概 4 个月的时间尝试让速度合理,但始终无法实现。如果您真的尝试,可以对其进行调整,使速度提高约 25-40%,但速度仍然不够快。

我忘记了确切的技术细节,但 GlusterFS 协议非常冗长,即使在只读系统上也是如此。正如 Danila 所说,如果您想要共享小文件,最好通过 gluster 使用 NFS 协议。这样做的巨大缺点是 NFS。

另一个值得考虑的选项是 Ceph。它发展迅速,在最新的 Ubuntu 内核上非常实用。

不过说实话,如果可以的话,我建议你放弃共享 FS。你以后会感谢我的。

答案2

GlusterFS 原生 FUSE 客户端在处理大量小文件时表现糟糕。您也可以尝试将 NFS 与 GlusterFS 结合使用。此外,我认为 xfs 分区在此设置中与原生 EXT4 相比没有任何优势。您可以在这篇文章中阅读更多信息:

http://lwn.net/Articles/476263/

相关内容