Как читать и декодировать fio --bandwidth-log?

Мне нужна помощь с чтением и декодированием fio --bandwidth-log.

Я выполнил приведенную ниже команду, и выходные данные включают несколько столбцов, перечисленных ниже. Как читать и декодировать каждый столбец?

fio --invalidate=1 --filename=/dev/nvme0n1 --direct=1 --ioengine=libaio --iolength=32 --time_based --runtime=3600 --bandwidth-log --name=/dev/nvme0n1 --rw=randread --bs=4k --log_avg_msec=1000

Пример вывода (первые несколько строк):

501, 334730, 0, 0, 0

1177, 647294, 0, 0, 0

1678, 985860, 0, 0, 0

2180, 948023, 0, 0, 0

2681, 967369, 0, 0, 0

3182, 977405, 0, 0, 0

3683, 982035, 0, 0, 0

  1. Как читать 1-й столбец? Независимо от того, какой период я ​​указываю для --timebased, я получаю всего 1024 результата.
  2. Во втором столбце не указаны ни IOPS, ни BW в МБ/с. Я где-то читал, что это в КБ/с, и попробовал преобразование, которое в некоторых случаях обеспечивает разумные МБ/с, но не смешивает команды RW.

Если я читаю справочную страницу fio, там упоминается только следующее без каких-либо объяснений:

--bandwidth-log

Создавайте совокупные журналы пропускной способности.

1 ответ

В соответствии сfio(1), разделLOG FILE FORMATS(последняя версия также доступна в Интернете):

Fio поддерживает различные форматы файлов журналов для регистрации задержек, пропускной способности и количества операций ввода-вывода в секунду. Журналы имеют общий формат, который выглядит следующим образом:

  • время (мсек), значение, направление данных, размер блока (байты), смещение (байты), приоритет команды

Время записи в журнале всегда указывается в миллисекундах. Зарегистрированное значение зависит от типа журнала и может быть одним из следующих:

  • Журнал задержки : значение представляет собой задержку в нс.
  • Журнал пропускной способности : значение указано в КиБ/сек.
  • Журнал IOPS : значение IOPS.

Направление данных является одним из следующих:

  • 0: ввод-вывод — ЧТЕНИЕ
  • 1: Ввод-вывод — это ЗАПИСЬ
  • 2: ввод-вывод — это TRIM

Однако обратите внимание, что более старые версии fio создают меньше полей. Всегда проверяйте страницу руководства, поставляемую с вашей версией fio.

Поэтому ваши данные следует интерпретировать, например, взяв первую строку:

       501, 334730, 0, 0, 0
  • 501 мс с начала тестирования
  • За это время измерено 334730 КиБ/с.
  • 0 = операция чтения
  • 0 (невозможно определить по текущей версии документации)
  • 0 = приоритет команды нормальный
Другие вопросы по тегам