Как читать и декодировать 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-й столбец? Независимо от того, какой период я указываю для --timebased, я получаю всего 1024 результата.
- Во втором столбце не указаны ни 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 = приоритет команды нормальный