常规测试
本章介绍的测试中使用 Redis 作为元数据存储引擎。在该测试条件下,JuiceFS 拥有十倍于 Amazon EFS 和 S3FS 的性能表现。
基础测试
JuiceFS 提供了 bench
子命令来运行一些基本的基准测试,用以评估 JuiceFS 在当前环境的运行情况:
吞吐量
使用 fio 在 JuiceFS、EFS 和 S3FS 上执行连续读写测试,结果如下:
结果表明,JuiceFS 可以提供比另外两个工具大 10 倍的吞吐量,了解更多。
元数据 IOPS
使用 mdtest 在 JuiceFS、EFS 和 S3FS 上执行简易的 mdtest 基准测试,结果如下:
结果表明,JuiceFS 可以提供比另外两个工具更高的元数据 IOPS,了解更多。
分析测试结果
假定在 JuiceFS 的根目录下有一个名为 .accesslog
的文件,它保存了所有操作对应的时间,例如:
cat /jfs/.accesslog
2021.01.15 08:26:11.003330 [uid:0,gid:0,pid:4403] write (17669,8666,4993160): OK <0.000010>
2021.01.15 08:26:11.003473 [uid:0,gid:0,pid:4403] write (17675,198,997439): OK <0.000014>
2021.01.15 08:26:11.003616 [uid:0,gid:0,pid:4403] write (17666,390,951582): OK <0.000006>
每行最后一个数表示当前操作所消耗的时间(单位:秒)。你可以直接参考这些数值来调试和分析性能问题,也可以试试 ./juicefs profile /jfs
命令来实时监测性能统计数据。你也可以运行 ./juicefs profile -h
或者参考这里了解这个子命令。