我试着用fio重放一些街区痕迹。
我编写的职务文件如下:
[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中的时间戳。
通过将num作业设置为4,fio似乎可以复制4个相同的工作负载,而不是使用4个线程来拆分工作负载。
那么,如何使用psync使fio尊重时间戳,并使用多个线程来重放跟踪呢?
发布于 2016-12-11 06:32:23
在没有看到iolog本身的一个小问题片段的情况下,我无法解释为什么重播总是尽可能快。请注意,等待是以milli秒为单位的,如果后面的等待要产生效果,则iolog中的连续等待必须增加(因为它们相对于作业本身的开始,而不是彼此之间或以前的I/O)。有关详细信息,请参阅HOWTO的“跟踪文件格式v2”部分。对于fio邮件列表来说,这个问题听起来很好(但由于这是一个问题,请不要把它放在bug跟踪器中)。
numjobs被记录为仅在“如何操作”中创建克隆。使您的经验与记录在案的行为相匹配。
遗憾的是,当前(2016年底)的fio重播无法在多个作业之间任意分割单个重放文件,您需要多个作业才能让fio使用多个线程/进程。如果您不介意在作业之间丢失I/O顺序,您可以将iolog分割成4块,并创建一个使用每个新iolog文件的作业。
https://stackoverflow.com/questions/40298513
复制相似问题