我们已经设置了一对 GlusterFS 服务器镜像。无需特殊调整,官方 RHEL6 RPM 中的 GlusterFS-3.5.1 附带的“开箱即用”功能就是我们所拥有的。
集群可以工作,但性能相当糟糕。例如,firefox-31.0.source.tar.bz2
通过本地主机上的 GlusterFS 提取大型 tarball()需要 44 分钟。直接提取同一文件(在同一磁盘上)需要不到 2 分钟。删除创建的树时也存在类似的差异(通过 gluster 需要 10 分钟)...
当然,可以预料的是,需要进行镜像等等,使用网络的文件系统会更慢——但是30次更慢?简单地复制大文件就很快了——所以我们缺少的不是带宽。在解压过程中,我看到glusterfs
(客户端)和glusterfsd
(服务器)进程都消耗了大量的 CPU(每个大约 10%),但系统仍然有大约 70% 的空闲时间——两个 gluster 进程都比解压 bzip2 和 tar 繁忙得多……它们在做什么?
我可以做一些调整来显著提高性能吗?或者我应该尝试头孢菌素(或者农场?) 而不是 gluster?还是它们都对大量小文件很不利?谢谢!
答案1
格鲁斯特是在处理大量小文件时表现糟糕。至少从 3.6 版开始。他们声称已经发布的 3.7 测试版大大改善了这个问题。我认为这个版本很快就会发布为稳定版,因为测试版是在 4 月 28 日发布的,他们计划在本月初发布稳定版。