Задержка FIO против латентности Btt
В случае результатов btt, я наиболее знаком с
- Задержка Q2D - время от отправки запроса на устройство
- D2C latency - задержка устройства для обработки запроса
- Задержка Q2C - общая задержка, Q2D + D2C = Q2C
Мне нужна помощь в сравнении задержек, о которых сообщает FIO, с помощью инструмента Btt. в ФИО результаты есть
- Задержка представления или предкрылок
- Задержка завершения или Clat
- общая латентность или лат
Я прочитал несколько статей о результатах FIO, но мне до сих пор не ясно, что означает slat, clat и lat?
Может ли результат FIO дать представление, если задержка диска выше или задержка очереди запросов выше?
"Планка", "Клаат" или "лат", представленные в FIO, прямо сопоставимы с Q2D, C2D или Q2C?
может быть, эти два инструмента не сопоставимы напрямую, в этом случае вы можете объяснить, почему?
Спасибо
1 ответ
Это в значительной степени зависит от используемого ioengine и от того, используете ли вы ввод-вывод, используя direct=1
, Если предположить, --ioengine=libaio --direct=1
:
- планка примерно Q2D.
- Clat примерно D2C.
- лат примерно Q2C.
Вам нужен асинхронный ioengine, потому что синхронные ioengines блокируют от отправки до завершения ввода-вывода (см. Раздел " http://fio.readthedocs.io/en/latest/fio_doc.html), тогда как асинхронный ioengines могут отправлять отдельно от получения уведомления о завершении ввода-вывода. Вам нужно direct=1
потому что без него ваш ввод / вывод просто войдет в кеш страниц Linux и может даже не быть асинхронным (даже если ioengine является асинхронным!) - см. раздел libaio http://fio.readthedocs.io/en/latest/fio_doc.html для подробностей.
Также имейте в виду, что вы не знаете, что будет делать блочный слой с вводом / выводом после того, как fio отправит его. В некоторых случаях может потребоваться объединить входы / выходы вместе (например, входы / выходы являются смежными и располагаются достаточно близко друг к другу) или разделить их (например, если они слишком велики для устройства), разрушая любое однозначное соответствие между fio значения и значения btt.
Числа fio, вероятно, будут больше, чем числа btt, потому что fio работает на более высоком уровне (пользовательское пространство), поэтому данные должны перемещаться дальше.