首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用高速缓存驱动器测量zfs的高速缓存性能

如何使用高速缓存驱动器测量zfs的高速缓存性能
EN

Stack Overflow用户
提问于 2018-09-05 20:53:26
回答 1查看 1.8K关注 0票数 1

我正在尝试比较不同的文件系统,大多数文件系统具有缓存/分层存储功能,但到目前为止,它似乎没有像它应该的那样工作。(顺便说一句,我知道这可能是错误的站点,但当我搜索zfs时,大多数SE结果都在stackoverflow上,所以在这里提问似乎很好)

在测试zfs时,我创建了一个池,其中添加了一个主驱动器/分区和另一个驱动器(ssd)作为缓存。主驱动器/分区大约为200 GB,ssd为120 GB。这在zpool中显示正确。

然后我分别使用iozone或iozone运行phoronix测试套件。在最初的不熟悉之后,我选择了phoronix-test-suite run-default pts/iozone,然后我只在一个硬盘上运行,只在一个固态硬盘和一个硬盘分区上运行,并将固态硬盘作为缓存。在两台笔记本电脑上使用固态硬盘进行比较。在使用zfs +缓存的测试中,实际上与只使用hdd没有区别。真的真的很慢。我确保将工作目录设置为zpool,并验证是否在那里创建了临时文件,还检查了zpool iostat以确保池正在工作。现在,虽然我可能怀疑较低的结果,但我希望速度至少应该稍微慢一些,特别是对于像这样的“简单”测试,它只执行3次从8 GB文件读取1MB记录的运行,然后3次运行从8 GB文件写入1MB记录。

现在,也许是因为zfs缓存和类似的缓存的工作方式-它们不能通过这样一个简单的测试来捕获-但话说回来,哪个测试将是捕获缓存的好处的好测试?但是,既然测试文件很容易放在缓存ssd上,为什么不先写到那里,然后在后台传输回hdd呢?

zpool如下所示:

代码语言:javascript
复制
pool: ztest
state: ONLINE
scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    ztest       ONLINE       0     0     0
      sdb7      ONLINE       0     0     0
    cache
      sdc       ONLINE       0     0     0

errors: No known data errors
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-07 07:36:00

以下是我对期望/现实中的不匹配的猜测:

用于读取基准测试的(从8 GB文件读取1MB记录的3次运行)

ZFS缓存设备(通常称为"L2ARC")在块被写入或读取时被填充。从您的描述中,我猜测基准测试程序只写入文件一次,然后按顺序读取它3次。我希望L2ARC在第一次写入时,或者至少在您第一次读取数据时,为您的缓存设备上的块创建一个副本。(不过,请注意,由于磁盘上的内容映射只存储在内存中,所以L2ARC在重新启动后仍然不会持久存在--这是一个愚蠢的限制,但可能不会影响您的测试。)

您是否正在使用zfs set secondarycache=all缓存所有数据块,而不仅仅是metadata数据块?(只是为了消除歧义/解释命名,primarycache属性对内存缓存有类似的设置,也称为“ARC”。)

为了检查基准测试期间是否使用了L2ARC,您可以查看arcstat数据--您会感兴趣的统计数据是:

代码语言:javascript
复制
"l2hits":     [6, 1000, "L2ARC hits per second"],
"l2miss":     [6, 1000, "L2ARC misses per second"],

使用您描述的基准测试,我预计会看到非常高的命中率(假设您的SSD >8 8GB)。

用于写入基准测试的(从8 GB文件写入1 MB记录的3次运行)

如果你还添加了固态硬盘log设备(通常称为"ZIL“,就像你在评论中提到的那样),这才会有所帮助。我将你的固态硬盘分成了两个分区:一个非常小,用作ZIL (假设你没有调优文件系统,只需要存储足够的数据来缓存大约10秒的写操作),另一个使用驱动器的其余部分作为L2ARC。

为了解决您发现的建议,除非您有一个强大的大型服务器,否则不要使用ZIL,我认为没有任何理由不在小型系统上使用ZIL。我猜它占用了一些额外的SSD,本来可以用于读缓存,但它不使用额外的RAM或明显的额外CPU,因此它应该有效地加快您的写入延迟/突发吞吐量,而不会产生任何负面影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52185641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档