gpt4 book ai didi

linux - 如何使 FIO 重播多线程跟踪

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:43 25 4
gpt4 key购买 nike

我正在尝试使用 fio 重放一些 block 痕迹。

我写的作业文件是这样的:

[global]
name=replay
filename=/dev/md0
direct=1
ioengine=psync

[replay]
read_iolog=iolog.fio
replay_no_stall=0
write_lat_log=replay_metrics
numjobs=1

这里的关键是我想使用“psync”作为ioengine,并重播iolog。然而,对于 psync,fio 似乎忽略了“replay_no_stall”选项,该选项忽略了 iolog 中的时间戳。

并且通过将 numjobs 设置为 4,fio 似乎为相同的工作负载制作了 4 个副本,而不是使用 4 个线程来拆分工作负载。

那么,我怎样才能使带有 psync 的 fio 尊重时间戳,并使用多个线程来重放跟踪?

最佳答案

没有看到 iolog 本身的一个小问题片段,我不能说为什么重放总是尽可能快。请注意,等待以毫秒秒为单位,并且 iolog 中的连续等待必须增加,如果后面的等待会产生影响(因为它们是相对于作业本身的开始而不是彼此或前一个 I/O)。有关详细信息,请参阅 HOWTO 的“跟踪文件格式 v2”部分。对于 fio 邮件列表来说,这个问题听起来是个好问题(但作为一个问题,请不要将其放入错误跟踪器中)。

numjobs is documented as only creating clones in the HOWTO因此您的体验与记录在案的行为相符。

遗憾的是,目前(2016 年底)fio 重播无法以单个重播文件可以在多个作业之间任意拆分的方式工作,并且您需要多个作业才能让 fio 使用多个线程/进程。如果您不介意在作业之间丢失 I/O 顺序这一事实,您可以将 iolog 分成 4 个部分并创建一个使用每个新 iolog 文件的作业。

关于linux - 如何使 FIO 重播多线程跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com