如果是btt结果,我最熟悉
我需要帮助比较FIO报告的延迟与Btt工具。 在FIO结果中有
我确实阅读了一些关于FIO结果的文章,但对我来说仍然不是很清楚slat,clat和lat是什么意思?
如果磁盘延迟更高或请求排队延迟更高,FIO结果可以提供见解吗?
在FIO中报告“Slat”或“Clat”或“lat”,与Q2D,C2D或Q2C直接相当?
可能这两个工具可能无法直接比较,在这种情况下你可以解释一下原因吗?感谢
答案 0 :(得分:1)
这在很大程度上依赖于正在使用的发动机以及您是否使用direct=1
提交I / O.假设--ioengine=libaio --direct=1
:
您需要一个异步的ioengine,因为同步ioengines会阻止从提交到I / O完成(请参阅http://fio.readthedocs.io/en/latest/fio_doc.html#interpreting-the-output的slat部分),而异步ioengines可以单独提交I / O已完成的接收通知。你需要direct=1
,因为没有它你的I / O就会进入Linux页面缓存,甚至可能不是异步的(即使ioengine是异步的!) - 请参阅http://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-ioengine的libaio部分的信息。
另外请记住,在fio提交后,你不知道阻止层对I / O会做什么。在某些情况下,它可能选择将I / O合并在一起(例如,I / O是连续的并且足够靠近在一起)或将它们分开(例如,如果它们对于设备而言太大)则破坏fio之间的任何一对一对应关系值和btt值。
fio数字可能会大于btt的数字,因为fio在更高的级别(用户空间)运行,因此数据还可以进一步传播。