使用 iozone 和 dd 在 AWS 上对 GlusterFS 和 NFS 进行基准测试得出不同的结果

使用 iozone 和 dd 在 AWS 上对 GlusterFS 和 NFS 进行基准测试得出不同的结果

我尝试使用 m1.medium 大小的 EC2 实例在 Amazon Web Services (AWS) 上对 GlusterFS 与 NFS 进行基准测试。我们使用 AWS EBS 作为块存储,并采用 XFS 文件系统。使用标准软件包运行 Ubuntu 12.04。

我使用 iozone 和 dd 进行基准测试。我意识到这些作为基准测试工具是不可比的,但我得到了一些奇怪的结果。

我的结果(单位:MB/s)如下(所有测试都在客户端运行):

using: iozone -c -e -i 0 -+n -r 64k -s 1000M -t 2

Direct to EBS     GlusterFS     NFS       GlusterFS + NFS
37.5              26.8          99.8      21.1

using: dd if=/srv/test of=/dev/null bs=64k count=16k

Direct to EBS     GlusterFS     NFS       GlusterFS + NFS
97.0              40.8          58.3      23.8

使用 dd 直接连接到 EBS 效果很好,但使用 iozone 实际上比 NFS 慢。为什么?

总体而言,我发现 GlusterFS 通常比 NFS 慢 1.5 到 2 倍。这些数字对于 GlusterFS 来说真实吗?

答案1

像所有基准测试一样,很难进行同类比较。它似乎会iozone破坏系统,并且不会模拟特定负载。 dd它只是测量吞吐量。

我碰到文件台filebench您可以模拟特定类型的负载,它将这些不同的测试称为“个性”。这给了我更真实的数字。我模拟了一个通常是只读的 Web 服务器。虽然filebench在模拟中添加了一个日志附加,但在这种情况下我将其删除了。我得到了以下结果:

结果(单位:MB/s)

using: sudo filebench (webserver personality without simulation of log append)
Direct to EBS     GlusterFS     NFS       GlusterFS + NFS
24.2              6.0           17.0      20.4

注意:filebench是 EBS 测试中的限制,因为它在测试期间占用了 100% 的 CPU。我推测 EBS 结果会更高。

注 2:当我对日志追加进行测试时,GlusterFS 本身的延迟非常高。这可以在这个帖子。我没有调查这个高延迟问题,因为我们主要期望读取。

相关内容