首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FIO延迟与Btt延迟

FIO延迟与Btt延迟
EN

Stack Overflow用户
提问于 2017-03-08 00:52:05
回答 1查看 850关注 0票数 1

如果是btt结果,我最熟悉

  • Q2D延迟-从请求提交到设备的时间
  • D2C延迟-处理请求的设备延迟
  • Q2C延迟-总延迟,Q2D + D2C = Q2C

我需要帮助比较由FIO和Btt工具报告的延迟。在FIO结果中有

  • 提交延迟或Slat
  • 完成延迟或Clat
  • 总延迟或延迟

我确实读过几篇关于FIO结果的文章,但它对我来说还不太清楚: slat,clat和lat意味着什么?

如果磁盘延迟较高或请求队列延迟较高,FIO结果能提供洞察吗?

是FIO中报告的"Slat“、"Clat”或"lat“,直接可与Q2D、C2D或Q2C ?媲美。

可能这两种工具不是直接可比的,在这种情况下,你能解释一下为什么吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-10-28 06:40:53

这在很大程度上取决于正在使用的ioengine,以及是否使用direct=1提交I/O。假设--ioengine=libaio --direct=1

  • slat大致是Q2D。
  • 克拉特( clat )大致是D2C。
  • lat大致是Q2C。

您需要一个异步ioengine,因为同步I引擎在I/O完成之前会阻塞提交(请参阅doc.html#interpreting-the-output的slat部分),而异步ioengine可以与接收I/O已完成的通知分开提交。您需要direct=1,因为没有它,您的I/O将只进入Linux页面缓存,甚至可能不是异步的(尽管ioengine是异步的!)-有关详细信息,请参阅doc.html#cmdoption-arg-ioengine的libaio部分。

另外,请记住,在fio提交后,您不知道块层将对I/O做什么。在某些情况下,它可以选择将I/O合并在一起(例如I/O是连续的,并且到达足够近的位置),或者将它们分开(例如,如果它们太大而设备太大),破坏fio值和btt值之间的任何一对一的对应。

fio的数量可能比btt的要大,因为fio是在一个更高的级别(用户空间)运行的,因此数据需要进一步传输。

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

https://stackoverflow.com/questions/42661073

复制
相关文章

相似问题

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