англійськафранцузькаіспанська

Ad


Значок OnWorks

fio - онлайн в хмарі

Запустіть fio у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда fio, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


fio - гнучкий тестер введення-виведення

СИНТАКСИС


нитка [опції] [файл роботи]...

ОПИС


нитка – це інструмент, який створить ряд потоків або процесів, які виконують певний тип
Дія введення-виведення, як зазначено користувачем. Типове використання fio - це написання файлу завдання
відповідність навантаження вводу-виводу, яку потрібно імітувати.

ВАРІАНТИ


--відлагоджувати=тип
Увімкнути детальне трасування різних дій fio. Може бути "все" для всіх типів або
окремі типи, розділені комою (наприклад, --debug=io,file). `help' перелічить усі
доступні параметри відстеження.

- вихід=ім'я файлу
Записати вихід до ім'я файлу.

--формат виведення=формат
Встановіть формат звітності нормальний, стислийабо json.

-- час виконання=час виконання
Обмежте час виконання до час виконання секунд.

--журнал пропускної здатності
Створення журналів пропускної здатності для кожного завдання.

--мінімальний
Друк статистичних даних у короткому форматі, розділеному крапкою з комою.

--append-tarse
Друк статистики у вибраному режимі І короткому форматі, розділеному крапкою з комою.

-- версія
Відобразити інформацію про версію та вийти.

--коротка версія=версія
Встановити короткий вихідний формат версії (поточна версія 3 або старіша версія 2).

--допомога Відобразити інформацію про використання та вийти.

--cpuclock-test
Виконайте тестування та перевірку внутрішніх тактових частот ЦП

--crctest[=тест]
Перевірте швидкість роботи вбудованих функцій контрольної суми. Якщо аргументів не надано, то все
з них перевірені. Або можна передати список, розділений комами, і в цьому випадку
дані тестуються.

--cmdhelp=команда
Роздрукувати довідкову інформацію для команда. Може бути "все" для всіх команд.

--enghelp=ioengine[,команда]
Перелік усіх команд, визначених за допомогою ioengine, або роздрукувати довідку для команда визначені
ioengine.

--showcmd=файл роботи
Конвертувати файл роботи до набору параметрів командного рядка.

--ета=коли
Вказує, коли має бути надрукована оцінка очікуваного часу очікування в реальному часі. коли може бути одним із
"завжди", "ніколи" або "автоматично".

--eta-новий рядок=час
Примусово вводити новий рядок ETA для кожного минулого періоду часу.

--інтервал статусу=час
Повідомляйте про повний статус виводу за кожний пройдений період часу.

--лише для читання
Увімкніть безпечні перевірки лише для читання, запобігаючи будь-які спроби запису.

--розділ=сек
Тільки біговий розділ сек з файлу роботи. Цю опцію можна використовувати кілька разів для додавання
більше розділів для запуску.

--alloc-size=kb
Встановіть розмір внутрішнього пулу smalloc на kb кілобайт.

--попередження-смертельні
Усі попередження синтаксичного аналізатора fio є фатальними, через що fio виходить із помилкою.

--максимальна кількість робочих місць=nr
Встановіть максимально дозволену кількість завдань (потоків/процесів) для підтримки.

--сервер=аргументи
Запустіть серверний сервер за допомогою аргументи вказуючи, що слухати. Дивіться клієнт/сервер
.

--демонізувати=pid-файл
Фоновий сервер fio, записуючи pid у вказаний файл pid.

--клієнт=господар
Замість того, щоб виконувати завдання локально, надсилайте та запускайте їх на заданому хості або наборі
господарів. Дивіться розділ клієнт/сервер.

--просто-проф=варіант
Повідомляти про простої процесора на основі системи або percpu (варіант=система,percpu) або блок виконання
тільки робоче калібрування (варіант=калібрувати).

РОБОТА Фото ФОРМАТ


Файли завдань у форматі `ini'. Вони складаються з одного або кількох визначень посад, які починаються
з назвою роботи в квадратних дужках і розширити до наступної назви роботи. Назва роботи може бути
будь-який рядок ASCII, крім "global", який має особливе значення. Після назва роботи
послідовність з нуля або більше параметрів, по одному на рядок, які визначають поведінку завдання.
Будь-який рядок, що починається з `;' або символ `#' вважається коментарем і ігнорується.

If файл роботи вказано як `-', файл завдання буде прочитано зі стандартного введення.

Глобальний розділ
Глобальний розділ містить параметри за замовчуванням для завдань, зазначених у файлі завдання. Робота
на нього впливають лише глобальні розділи, розташовані над ним, і їх може бути будь-яка кількість
глобальні розділи. Конкретні визначення завдань можуть замінити будь-який набір параметрів у глобальному
розділи.

РОБОТА ПАРАМЕТРИ


типи
Деякі параметри можуть приймати аргументи певного типу. Будь-де числове значення
якщо потрібно, можна використовувати арифметичний вираз за умови, що він оточений дужками.
Підтримувані оператори:

доповнення (+)

віднімання (-)

множення (*)

поділ (/)

модуль (%)

підведення в ступінь (^)

Для значень часу у виразах одиницями за замовчуванням є мікросекунди. Це відрізняється від
для значень часу, які не містяться у виразах (не входять у дужки). Використовуються такі типи:

вул Рядок: послідовність буквено-цифрових символів.

Int SI ціле число: ціле число, можливо, що містить суфікс, що позначає основну одиницю
значення. Допустимі суфікси: `k', 'M', 'G', 'T' і 'P', що позначають кілограм
(1024), мега (1024^2), гіга (1024^3), тера (1024^4) і пета (1024^5)
відповідно. Якщо з префіксом '0x', припускається, що значення буде основою 16
(шістнадцятковий). Суфікс може включати 'b' в кінці, наприклад, 'kb' ідентичний
до 'k'. Ви можете вказати базове значення 10, використовуючи 'KiB', 'MiB', 'GiB' тощо.
корисно для дисків, де значення часто наводяться в основі 10 значень. Уточнення
"30GiB" дасть вам 30*1000^3 байт. При визначенні часу суфікс за замовчуванням
значення змінюється, все ще позначає базову одиницю значення, але прийняті суфікси
це "D" (дні), "H" (години), "M" (хвилини), "S" секунди, "мс" (або мсек) мілі
секунд, 'us' (або 'usec') мікросекунд. Значення часу без вказівки одиниці
секунд. Суфікси не чутливі до регістру.

бул Логічне значення: істинне або хибне значення. `0' означає хибність, `1' означає істину.

помаранчевий Діапазон цілих чисел: діапазон цілих чисел, зазначений у форматі знизити:верхній or
знизити-верхній. знизити та верхній може містити суфікс, як описано вище. Якщо варіант
дозволяє два набори діапазонів, вони розділені символом `,' або `/'. Для
приклад: "8-8k/8M-4G".

float_list
Список плаваючих чисел: список плаваючих чисел, розділених символом «:».

Параметр список
ім'я=вул
Може використовуватися для заміни назви завдання. У командному рядку цей параметр має значення
спеціальне призначення сигналізації про початок нової роботи.

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

каталог=вул
Поставте префікс імен файлів до цього каталогу. Використовується для розміщення файлів в іншому місці, ніж
`./'. Ви можете вказати кількість каталогів, розділивши імена символом ':'
характер. Ці каталоги будуть рівномірно розподілені між клонами завдань
створює з кількість робочих місць доки вони використовують згенеровані імена файлів. Якщо конкретно
назви файлів встановлено, що fio використовуватиме перший каталог із списку і, таким чином, відповідатиме
ім'я файлу семантичний, який генерує файл кожного клону, якщо не вказано, але нехай
всі клони використовують те саме, якщо встановлено. Побачити ім'я файлу з міркувань щодо втечі
певних персонажів на деяких платформах.

ім'я файлу=вул
нитка зазвичай створює назву файлу на основі імені завдання, номера потоку та файлу
номер. Якщо ви хочете надати спільний доступ до файлів між потоками в роботі чи кількох роботах,
вкажіть a ім'я файлу для кожного з них замінити значення за замовчуванням. Якщо двигун введення-виведення є
на основі файлів, ви можете вказати кількість файлів, розділивши імена символом `:'
характер. `-' є зарезервованим ім'ям, що означає stdin або stdout, залежно від
набір напряму читання/запису. У Windows доступ до дискових пристроїв здійснюється як \.PhysicalDrive0
для першого пристрою, \.PhysicalDrive1 для другого тощо. Примітка: Windows і
FreeBSD запобігає доступу на запис до областей диска, що містять дані, що використовуються (наприклад
файлові системи). Якщо шукане ім’я файлу має містити двокрапку, уникайте цього
із символом "\". Наприклад, якщо ім'я файлу "/dev/dsk/foo@3,0:c", то
ви б використовували filename="/dev/dsk/foo@3,0\:c".

формат_ім'я файлу=вул
У разі спільного використання кількох файлів між завданнями зазвичай необхідно мати fio
створіть точні назви, які ви хочете. За замовчуванням fio називає файл на основі
специфікація формату файлу за замовчуванням назва завдання.номер завдання.номер файлу. З цим
варіант, який можна налаштувати. Fio розпізнає та замінить наступне
ключові слова в цьому рядку:

$jobname
Ім'я робочого потоку або процесу.

$jobnum
Інкрементний номер робочого потоку або процесу.

$filenum
Інкрементний номер файлу для цього робочого потоку або процесу.

Щоб залежні завдання використовували набір файлів, цей параметр можна встановити на fio
генерувати назви файлів, які є спільними між ними. Наприклад, якщо
testfiles.$filenum якщо вказано, буде названо файл номер 4 для будь-якої роботи
testfiles.4. За замовчуванням $jobname.$jobnum.$filenum буде використано, якщо немає іншого
задано специфікатор формату.

файл блокування=вул
За замовчуванням Fio не блокує жодні файли, перш ніж здійснити для них IO. Якщо файл або файл
дескриптор є спільним, fio може серіалізувати IO до цього файлу, щоб отримати кінцевий результат
послідовний. Це зазвичай для емуляції реальних робочих навантажень, які спільно використовують файли. Замок
режими:

ніхто Без блокування. Це значення за замовчуванням.

ексклюзивний
Лише один потік або процес може виконувати IO одночасно, за винятком усіх інших.

читати писати
Блокування читання-запису у файлі. Багато читачів можуть отримати доступ до файлу за адресою
в той же час, але записи отримують ексклюзивний доступ.

опендір=вул Рекурсивно відкривайте будь-які файли нижче каталогу вул.

читати писати=вул, rw=вул
Тип шаблону введення-виводу. Допустимі значення:

зчитування Послідовне читання.

запис Послідовні записи.

оздоблення Послідовна обробка (тільки для блочних пристроїв Linux).

рандчитати
Випадкові читання.

randwrite
Випадковий запис.

рандтрім
Випадкове обрізання (тільки для блочних пристроїв Linux).

rw, читати писати
Змішане послідовне читання та запис.

randrw Змішане випадкове читання та запис.

обрізати
Обрізка та запис змішаного робочого навантаження. Спочатку будуть обрізані блоки, а потім
будуть записані ті самі блоки.

Для змішаного введення-виводу за замовчуванням розподілено 50/50. Для певних типів io результат може
все ще бути трохи перекошеним, оскільки швидкість може відрізнятися. Можна уточнити
ряд IO, які потрібно зробити, перш ніж отримати нове зміщення, це робиться шляхом додавання a
`: до кінця даного рядка. Для випадкового читання це виглядало б так
rw=randread:8 для передачі модифікатора зміщення зі значенням 8. Якщо постфікс
використовується з послідовним шаблоном IO, тоді вказане значення буде додано до
створений зсув для кожного вводу-виведення. Наприклад, використовуючи rw=запис:4k буде пропускати 4k for
кожен запис. Він перетворює послідовне введення в послідовне введення з отворами. Див
rw_sequencer варіант.

rw_sequencer=вул
Якщо модифікатор зміщення задається шляхом додавання числа до rw= лінія, тоді
ця опція керує тим, як це число змінює зміщення введення-виведення, яке створюється.
Допустимі значення:

послідовний
Створення послідовного зміщення

однаковий
Сформуйте те саме зміщення

послідовний корисно лише для випадкового введення-виведення, де fio зазвичай генерує новий
випадкове зміщення для кожного IO. Якщо ви додасте, наприклад, 8 до randread, ви отримаєте новий
випадкове зміщення для кожні 8 IO. Результатом буде пошук лише для кожні 8 IO,
замість кожного IO. Використовуйте rw=randread:8 щоб уточнити це. Як послідовний IO
вже послідовна, установка послідовний бо це ні до чого не призведе
відмінності. однаковий веде себе подібним чином, за винятком того, що надсилає те саме
зміщення 8 разів перед створенням нового зміщення.

kb_base=Int
Базовий блок для кілобайта. База дефакто дорівнює 2^10, 1024. Зберігання
Натомість виробники люблять використовувати 10^3 або 1000 як базову десятку, очевидно
причини. Дозволені значення — 1024 або 1000, за замовчуванням — 1024.

unified_rw_reporting=бул
Fio зазвичай повідомляє статистику для кожного напряму даних, тобто читання,
запис і обрізка обліковуються та звітуються окремо. Якщо цей параметр встановлено fio
підсумовує результати і натомість повідомляє їх як «змішані».

randrepeat=бул
Завантажте генератор випадкових чисел, який використовується для шаблонів випадкового введення-виводу, передбачуваним чином
таким чином, шаблон повторюваний на всіх етапах. За замовчуванням: true.

allrandrepeat=бул
Завантажте всі генератори випадкових чисел у передбачуваний спосіб, щоб результати були повторюваними
поперек пробігів. За замовчуванням: false.

рандове насіння=Int
Налаштуйте генератори випадкових чисел на основі цього початкового значення, щоб мати можливість контролювати
яка послідовність виводу створюється. Якщо не встановлено, випадкова послідовність залежить
на randrepeat установка.

помилятися=вул
Чи виконується попередній розподіл під час накладання файлів. Допустимі значення:

ніхто Не варто заздалегідь виділяти місце.

posix Попередньо виділити через posix_fallocate(3).

тримати Попередньо виділити через помилятися(2) із встановленим FALLOC_FL_KEEP_SIZE.

0 Зворотно сумісний псевдонім для 'none'.

1 Зворотно сумісний псевдонім для 'posix'.

Може бути доступним не на всіх підтримуваних платформах. "keep" доступний лише в Linux.
Якщо ви використовуєте ZFS на Solaris, для цього потрібно встановити значення «none», оскільки ZFS не підтримує його.
За замовчуванням: 'posix'.

fadvise_hint=бул
Скористайтесь posix_fadvise(2) щоб повідомити ядру, які можуть бути шаблони введення-виводу
виданий. За замовчуванням: true.

fadvise_stream=Int
Скористайтесь posix_fadvise(2) повідомити ядру, до якого ідентифікатора потоку належать видані записи
до. Підтримується лише в Linux. Зауважте, що цей параметр може змінитися надалі.

розмір=Int
Загальний обсяг вводу-виводу для цієї роботи. нитка виконуватиметься до тих пір, поки не буде набрано стільки байтів
передано, якщо не обмежено іншими варіантами (час виконання, наприклад, або
збільшено/зменшено на io_size). Хіба що nrfiles та розмір файлу надаються варіанти,
ця сума буде поділена між доступними файлами для роботи. Якщо не встановлено,
fio використовуватиме повний розмір даних файлів або пристроїв. Якщо файлів немає
існує, необхідно вказати розмір. Також можна вказати розмір у відсотках між
1 і 100. Якщо вказано size=20%, fio використовуватиме 20% повного розміру даного
файли або пристрої.

io_size=Int, io_limit =Int
Зазвичай fio працює в межах регіону, визначеного за розмір, що означає, що розмір
Параметр встановлює регіон і розмір вводу-вводу, який буде виконано. Іноді це не так
що ти хочеш. За допомогою цієї опції можна визначити лише кількість IO
що fio має зробити. Наприклад, якщо розмір встановлено на 20G і io_limit встановлено на 5G,
fio виконуватиме IO протягом перших 20G, але вийде, коли 5G буде виконано. The
можливе також протилежне - якщо розмір встановлено на 20G, і io_size тоді встановлено на 40G
fio виконає 40G IO в межах 0..20G регіону.

fill_device=бул, fill_fs=бул
Встановлює розмір дійсно великого і чекає ENOSPC (на пристрої не залишилося місця)
як умова припинення. Має сенс лише при послідовному записі. Для читання
робочого навантаження, спочатку буде заповнена точка монтування, а потім запущено введення введення на результат. Це
Опція не має сенсу, якщо працює на необробленому вузлі пристрою, оскільки його розмір
вже відомий файловій системі. Крім того, запис за межами кінця пристрою
не поверне ENOSPC туди.

розмір файлу=помаранчевий
Індивідуальні розміри файлів. У такому випадку може бути діапазон нитка підбере розміри для
файли випадково в межах заданого діапазону, обмежено розмір загалом (якщо так
дано). Якщо розмір файлу не вказано, кожен створений файл має однаковий розмір.

file_append=бул
Виконайте IO після закінчення файлу. Зазвичай fio буде працювати в межах розміру
файл. Якщо встановлено цю опцію, то fio додасть до файлу замість цього. Це має
поведінка ідентична до встановлення зміщення розміру файлу. Цей параметр ігнорується
на нестандартні файли.

розмір блоку=int [, int], bs=int [, int]
Розмір блоку для блоків вводу/виводу. За замовчуванням: 4k. Значення для читання, запису та обрізки можуть бути
вказано окремо у форматі зчитування,запис,оздоблення будь-який з яких може бути порожнім
залиште це значення за замовчуванням. Якщо кінцева кома не вводиться, залишок
успадкує останнє встановлене значення.

діапазон_розмірів блоків=помаранчевий[,аранжевий], bsrange=помаранчевий[,аранжевий]
Вкажіть діапазон розмірів блоків вводу/виводу. Випущений блок вводу-виводу завжди буде множинним
мінімального розміру, якщо blocksize_unaligned встановлено. Застосовується як до читань, так і до
пише, якщо вказано лише один діапазон, але його можна вказати окремо за допомогою коми
розділення значень. Приклад: bsrange=1k-4k,2k-8k. Також (див розмір блоку).

bssplit=вул
Ця опція дозволяє ще більш детально контролювати розміри виданих блоків, а не тільки
навіть розділяється між ними. За допомогою цієї опції ви можете зважувати блоки різних розмірів
точний контроль виданого IO для завдання, яке має змішані розміри блоків. Формат
параметр bssplit=blocksize/percentage, за бажанням можна додати стільки визначень
за потреби розділяються двокрапкою. Приклад: bssplit=4k/10:64k/50:32k/40 виникне
50% блоків 64k, 10% блоків 4k і 40% блоків 32k. bssplit також підтримує дарування
окремі розділення на читання і запис. Формат ідентичний тому, що bs варіант
приймає, частини для читання та запису відокремлюються комою.

blocksize_unaligned, bs_unaligned
Якщо встановлено, будь-який розмір в діапазон_розмірів блоків може використовуватися. Зазвичай це не працює
прямий ввод-вивод, оскільки це зазвичай вимагає вирівнювання секторів.

блокувати=int [, int], ba=int [, int]
На якій межі вирівняти випадкові зміщення введення-виведення. За замовчуванням те саме, що і "розмір блоку"
мінімальний розмір блоку. Мінімальне вирівнювання зазвичай становить 512b для використання прямого
IO, хоча зазвичай це залежить від розміру апаратного блоку. Цей варіант взаємний
виключно з використанням випадкової карти для файлів, тому ця опція буде вимкнена.

bs_is_seq_rand=бул
Якщо цей параметр встановлено, fio використовуватиме звичайні параметри читання, запису розміру блоку як
замість цього послідовно, випадково. Будь-яке випадкове читання або запис буде використовувати розмір блоку WRITE
налаштування, і будь-яке послідовне читання або запис буде використовувати параметр розміру блоку READ.

нульові_буфери
Ініціалізуйте буфери всіма нулями. За замовчуванням: заповнити буфери випадковими даними.

refill_buffers
Якщо вказано цю опцію, fio поповнюватиме буфери введення-виведення при кожній подачі. The
за замовчуванням заповнювати його лише під час ініціалізації та повторно використовувати ці дані. Має сенс лише якщо
zero_buffers, звичайно, не вказано. Якщо перевірка даних увімкнена,
refill_buffers також автоматично вмикається.

scramble_buffers=бул
If refill_buffers це надто дорого, а мета використовує дедуплікацію даних
встановлення цієї опції дещо змінить вміст буфера введення-виведення, щоб перевершити нормальний
спроби зневірити. Цього недостатньо, щоб перемогти більш розумне стиснення блоків
спроби, але це зупинить наївне вилучення блоків. За замовчуванням: true.

buffer_compress_percentage=Int
Якщо це встановлено, fio спробує надати вміст буфера введення-виведення (на записах WRITE).
стиснути до зазначеного рівня. Fio робить це, надаючи поєднання випадкових даних
і фіксований візерунок. Фіксований шаблон - це або нулі, або вказаний шаблон
by шаблон_буфера. Якщо використовується параметр шаблону, це може спотворити стиснення
співвідношення незначно. Зауважте, що це на одиницю розміру блоку для файлу/диска
рівень стиснення, який відповідає цьому налаштуванню. Зауважте, що це на одиницю розміру блоку,
для рівня стиснення файлу/диска, який відповідає цьому параметру, вам також потрібно
встановити refill_buffers.

buffer_compress_chunk=Int
Читати buffer_compress_percentage. Цей параметр дозволяє fio керувати розміром
діапазони випадкових даних і обнулених даних. Без цього набору fio забезпечить
buffer_compress_percentage випадкових даних розміру блоку, за якими слідують інші
обнулений. За допомогою цього набору розміру фрагмента, меншого за розмір блоку, fio може
чергування випадкових і обнулених даних по всьому буферу введення-виведення.

шаблон_буфера=вул
Якщо встановлено, fio заповнює буфери введення-виведення цим шаблоном. Якщо не встановлено, вміст
Буфери IO визначаються іншими параметрами, пов’язаними з вмістом буфера. Установка
може бути будь-яким шаблоном байтів і може мати префікс 0x для шістнадцяткових значень. Це може
також бути рядком, де рядок потім має бути обгорнутий символом "", наприклад:
шаблон_буфера= "abcd"
or
шаблон_буфера= -12
or
шаблон_буфера=0xdeadface

Також ви можете комбінувати все разом у будь-якому порядку:

шаблон_буфера=0xdeadface"abcd"-12

dedupe_percentage=Int
Якщо встановлено, fio генеруватиме цей відсоток ідентичних буферів під час запису. Ці
буфери будуть природним чином дедуплюватися. Від чого залежить вміст буферів
були встановлені інші параметри стиснення буфера. Можна мати
окремі буфери або повністю стискаються, або не стискаються зовсім. Тільки цей варіант
контролює розподіл унікальних буферів.

nrfiles=Int
Кількість файлів для цього завдання. За замовчуванням: 1.

OpenFiles=Int
Кількість файлів, які потрібно залишати відкритими одночасно. За замовчуванням: nrfiles.

тип_служби файлу=вул
Визначає спосіб вибору файлів для обслуговування. Визначаються такі типи:

випадковий Виберіть файл випадковим чином.

кругової
Порядковий розподіл відкритих файлів (за замовчуванням).

послідовний
Виконуйте кожен файл у наборі послідовно.

Кількість вводів/виводів, які потрібно видавати перед перемиканням на новий файл, можна вказати за допомогою
додавання `:Int' до типу послуги.

ioengine=вул
Визначає, як завдання виконує введення-виведення. Визначаються такі типи:

синхронізувати базовий зчитування(2) або запис(2) введення/виведення. fseek(2) використовується для позиціонування вводу/виводу
Місцезнаходження.

синхронізація базовий перед(2) або pwrite(2) введення/виведення.

VSync базовий readv(2) або writev(2) введення/виведення. Буде емулювати черги шляхом об’єднання
суміжні IO в одне представлення.

pvsync базовий передв(2) або pwritev(2) введення/виведення.

libaio Вбудований асинхронний ввод-вивод для Linux. Цей ioengine визначає специфіку двигуна
Варіанти.

posixaio
Використання асинхронного введення-виведення POSIX aio_read(3) і aio_write(3).

solarisaio
Вбудований асинхронний ввод-вивод Solaris.

windowsaio
Вбудований асинхронний ввод-вивод Windows.

mmap Файл відображено в пам'яті mmap(2) та дані, скопійовані за допомогою memcpy(3).

сплайсинг сплайсинг(2) використовується для передачі даних і vmsplice(2) передати
дані з простору користувача в ядро.

syslet-rw
Використовуйте системні виклики syslet, щоб зробити звичайне читання/запис асинхронним.

sg SCSI загальний sg v3 I/O. Може бути синхронним із використанням SG_IO
ioctl, або якщо цільовим є символьний пристрій sg, ми використовуємо зчитування(2) і
запис(2) для асинхронного введення/виведення.

нулю Не передає жодних даних, лише прикидається. В основному використовується для фізичних вправ
нитка для налагодження й тестування.

мережу Передача по мережі. Протокол, який буде використовуватися, можна визначити
з протокол параметр. Залежно від протоколу, ім'я файлу,
ім'я хоста, портабо слухати необхідно вказати. Цей ioengine визначає
конкретні параметри двигуна.

netsplice
Люблю мережу, але використовує сплайсинг(2) і vmsplice(2) для картографічних даних і
відправити/отримати. Цей ioengine визначає конкретні параметри двигуна.

cpuio Не передає жодних даних, але записує цикли ЦП відповідно до cpuload
та процесорні цикли параметри

гуасі Механізм введення-виведення GUASI — це загальний асинхронний системний виклик простору користувача
Інтерфейсний підхід до асинхронного введення/виведення.
Побачитиhttp://www.xmailserver.org/guasi-lib.html>.

rdma Механізм введення-виведення RDMA підтримує обидві семантики пам'яті RDMA
(RDMA_WRITE/RDMA_READ) і семантика каналу (Send/Recv) для
Протоколи InfiniBand, RoCE та iWARP.

зовнішній
Завантажує зовнішній об’єктний файл механізму введення-виведення. Додайте назву файлу двигуна
як `:шлях двигуна'.

falloc
Механізм введення-виведення, який виконує звичайний власний виклик fallocate для Linux
імітувати передачу даних як fio ioengine
DDIR_READ робить помилку (,mode = FALLOC_FL_KEEP_SIZE,)
DIR_WRITE випадає (,mode = 0)
DDIR_TRIM робить fallocate(,mode =
FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE)

e4defrag
Механізм IO, який виконує звичайні EXT4_IOC_MOVE_EXT ioctl для імітації
запит активності дефрагментації до події DDIR_WRITE

rbd Механізм IO, що підтримує прямий доступ до блокових пристроїв Ceph Rados (RBD)
через librbd без використання драйвера rbd ядра. Це
ioengine визначає конкретні параметри двигуна.

gfapi Використання інтерфейсу синхронізації Glusterfs libgfapi для прямого доступу до Glusterfs
обсягів без необхідності проходження через FUSE. Цей ioengine визначає
конкретні параметри двигуна.

gfapi_async
Використання асинхронного інтерфейсу Glusterfs libgfapi для прямого доступу до
Обсяги Glusterfs без необхідності проходження FUSE. Цей ioengine
визначає конкретні параметри двигуна.

libhdfs
Читання та запис через Hadoop (HDFS). The ім'я файлу варіант звик
вкажіть хост, порт іменного вузла hdfs для підключення. Цей двигун
інтерпретує зміщення дещо інакше. У HDFS файли після створення
не можна змінити. Тому випадковий запис неможливий. Для наслідування
при цьому двигун libhdfs очікує, що буде створено купу невеликих файлів
HDFS, і двигун випадковим чином вибере файл із цих файлів
на зміщенні, створеному бекендом fio. (див. приклад файлу завдання до
створіть такі файли, використовуйте параметр rw=write). Зауважте, ви можете захотіти
встановити необхідні змінні середовища для роботи з hdfs/libhdfs
правильно

ТОВ Читання, запис і стирання символьного пристрою MTD (наприклад, /dev/mtd0).
Відкидання розглядаються як стирання. Залежно від основного пристрою
типу, введення-виводу, можливо, доведеться виконувати за певною схемою, наприклад, на NAND,
запис послідовно для стирання блоків і відкидання раніше
перезапис. Режим обрізки запису добре працює для цього обмеження.

iodeth=Int
Кількість блоків вводу-виводу, які потрібно тримати в польоті проти файлу. Зверніть увагу, що збільшується
iodepth понад 1 не вплине на синхронні ioengines (за винятком невеликої дегресії
коли використовується verify_async). Навіть асинхронні двигуни можуть накладати обмеження ОС
бажаної глибини не можна досягти. Це може статися в Linux під час використання libaio
і не встановлюють прямий=1, оскільки буферизований IO не є асинхронним у цій ОС. Стежити за
розподіл глибини IO у виводі fio, щоб переконатися, що досягнута глибина відповідає
очікуваний. За замовчуванням: 1.

iodepth_batch=Int
Кількість вводів-виводів, які потрібно подати одночасно. За замовчуванням: iodeth.

iodepth_batch_complete=Int
Це визначає, скільки елементів IO потрібно отримати одночасно. За замовчуванням встановлено значення 1, яке
означає, що ми будемо просити мінімум 1 IO в процесі отримання з
ядро. Завантаження IO триватиме, доки ми не досягнемо встановленого ліміту iodepth_low. Якщо
ця змінна встановлена ​​на 0, тоді fio завжди перевірятиме наявність завершених подій раніше
в черзі більше IO. Це допомагає зменшити затримку введення-виведення за ціною більшої кількості системи пошуку
дзвінки

iodepth_low=Int
Низький водяний знак, який вказує, коли знову почати заповнювати чергу. За замовчуванням: iodeth.

io_submit_mode=вул
Ця опція керує тим, як fio подає IO на механізм IO. За замовчуванням є
вбудований, що означає, що потоки завдання fio подають і збирають IO безпосередньо. Якщо встановлено
до розвантажуватися, потоки завдань розвантажуватимуть подачу IO до виділеного пулу IO
нитки. Це вимагає певної координації і, таким чином, має трохи додаткових витрат,
особливо для меншої глибини черги IO, де це може збільшити затримки. Вигода є
що fio може керувати швидкістю подання незалежно від швидкості завершення роботи пристрою.
Це дозволяє уникнути спотворення звітів про затримку, якщо IO повертається на стороні пристрою (
проблема узгодженого пропуску).

прямий=бул
Якщо true, використовуйте небуферизований ввод-вивод (зазвичай O_DIRECT). За замовчуванням: false.

атомний=бул
Якщо значення true, спробуйте використати атомарний прямий IO. Атомні записи гарантовано
бути стабільним після підтвердження операційною системою. O_ATOMIC підтримує лише Linux
Прямо зараз.

буферний=бул
Якщо правда, використовуйте буферизований ввод-вивод. Це протилежність прямий параметр. За замовчуванням:
правда.

зсув=Int
Зміщення у файлі для початку введення-виведення. Дані перед зміщенням не торкатимуться.

приріст_зміщення=Int
Якщо це передбачено, то реальний зсув стає зміщенням + offset_increment *
thread_number, де номер потоку є лічильником, який починається з 0 і є
збільшується для кожного підзавдання (тобто коли вказано параметр numjobs). Цей варіант
корисно, якщо є кілька завдань, які призначені для роботи з файлом
паралельні несполучні сегменти з рівномірним інтервалом між початковими точками.

номер_ios=Int
Зазвичай Fio виконуватиме операції введення-виведення, поки не вичерпає розмір області, заданої
розмір, або якщо він вичерпав виділений час (або потрапив у стан помилки). З цим
Налаштування, діапазон/розмір можна встановити незалежно від кількості вводів-вводів для виконання.
Коли fio досягне цього числа, він вийде в звичайному режимі та повідомить про статус. Зауважте, що
це не збільшує обсяг IO, який буде виконано, це лише зупинить fio if
ця умова виконується перед іншими критеріями закінчення роботи.

фсинк=Int
Скільки вводів-виводів потрібно виконати, перш ніж видати файл фсинк(2) брудних даних. Якщо 0, ні
синхронізувати. За замовчуванням: 0.

fdatasync=Int
Люблю фсинк, але використовує fdatasync(2) замість цього синхронізувати лише частини даних файлу.
За замовчуванням: 0.

запис_бар'єр=Int
Зробіть кожен N-ий запис бар'єрним записом.

діапазон_файлів синхронізації=str:int
Скористайтесь діапазон_файлів синхронізації(2) для кожного значення числа операцій запису. Фіо буде стежити
ряд записів, які відбулися з останнього часу діапазон_файлів синхронізації(2) дзвінок. вул може
наразі бути одним або кількома з:

очікувати_перед
SYNC_FILE_RANGE_WAIT_BEFORE

запис SYNC_FILE_RANGE_WRITE

чекати_після
SYNC_FILE_RANGE_WRITE

Отже, якщо ви робите sync_file_range=wait_before,write:8, fio використає
SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE за кожні 8 записів. Також див
діапазон_файлів синхронізації(2) сторінка посібника. Ця опція специфічна для Linux.

перезаписати=бул
Якщо ви пишете, спочатку налаштуйте файл і виконайте перезапис. За замовчуванням: false.

end_fsync=бул
Синхронізувати вміст файлу після завершення етапу запису. За замовчуванням: false.

fsync_on_close=бул
Якщо значення true, синхронізувати вміст файлу після закриття. Це відрізняється від end_fsync в тому, що буде
трапляються на кожному закритті, а не лише наприкінці роботи. За замовчуванням: false.

rwmixread=Int
Відсоток змішаного навантаження, яке слід прочитати. За замовчуванням: 50.

rwmixwrite=Int
Відсоток змішаного робочого навантаження, яке має бути записом. Якщо rwmixread та rwmixwrite
дано і не становить 100%, останнє з двох замінює перший. Це
може заважати заданій установці швидкості, якщо fio попросить обмежити читання або запис
до певної ставки. Якщо це так, то розподіл може бути спотвореним.
За замовчуванням: 50.

випадковий_розподіл=str:float
За замовчуванням, fio використовуватиме абсолютно рівномірний випадковий розподіл, коли його попросять
виконувати випадковий IO. Іноді корисно спотворити розподіл в конкретні
способи, гарантуючи, що деякі частини даних є більш гарячими, ніж інші. Fio включає
наступні моделі розповсюдження:

випадковий Рівномірний випадковий розподіл

zipf Розповсюдження Zipf

парето Розподіл Парето

При використанні розподілу zipf або Парето також необхідно ввести значення
визначити шаблон доступу. Для zipf це zipf theta. Для Парето це
сила Парето. Fio включає в себе тестову програму genzipf, яка може бути використана для візуалізації чого
задані вхідні значення будуть прибутковими в термінах звернення. Якщо ви хочете використовувати zipf
з тета 1.2, ви б використовували random_distribution=zipf:1.2 як параметр. Якщо
використовується нерівномірна модель, fio вимкне використання випадкової карти.

відсоток_випадковий=Int
Для випадкового робочого навантаження встановіть, наскільки великий відсоток має бути випадковим. Це значення за замовчуванням
100%, у цьому випадку робоче навантаження є повністю випадковим. Його можна встановити з будь-якого місця
Від 0 до 100. Якщо встановити значення 0, робоче навантаження буде повністю послідовним. Можливо
щоб встановити різні значення для читання, запису та обрізки. Для цього просто використовуйте кому
відокремлений список. Побачити розмір блоку.

norandommap
Зазвичай нитка охоплюватиме кожен блок файлу під час випадкового введення-виведення. Якщо це
якщо параметр заданий, нове зміщення буде обрано без огляду минулого введення-виводу
історії. Цей параметр взаємовиключний з перевірити.

softrandommap=бул
Читати norandommap. Якщо fio запускається з увімкненою картою випадкових блоків, і це не вдається
розподілити карту, якщо ця опція встановлена, вона продовжуватиметься без випадкового блоку
карта. Оскільки покриття не буде таким повним, як із випадковими картами, ця опція є
за замовчуванням вимкнено.

випадковий_генератор=вул
Fio підтримує наступні механізми для генерування зміщень введення-виведення для випадкового введення-виведення:

tausworthe
Потужний генератор випадкових чисел із 2^88 циклами

лфср Генератор регістра зсуву лінійного зворотного зв'язку

tausworthe64
Потужний 64-розрядний генератор випадкових чисел із 2^258 циклами

Tausworthe — потужний генератор випадкових чисел, але він вимагає відстеження

стороні, якщо ми хочемо переконатися, що блоки читаються або записуються лише один раз. ЛФСР
гарантує, що ми ніколи не генеруємо однакове зміщення двічі, і воно також менше
обчислювально дорого. Однак це не справжній генератор випадкових даних, але для IO
для цілей, як правило, досить добре. LFSR працює лише з одиничними розмірами блоків, але ні
з робочими навантаженнями, які використовують кілька розмірів блоків. Якщо використовувати з таким навантаженням, fio може
читати або записувати деякі блоки кілька разів.

приємно=Int
Виконайте роботу з приємною цінністю. Побачити приємно(2).

пріо=Int
Встановіть значення пріоритету введення-виводу для цього завдання між 0 (найвищий) і 7 (найнижчий). Побачити
іонний(1).

пріоклас=Int
Встановити клас пріоритету введення-виводу. Побачити іонний(1).

час роздумів=Int
Призупинення роботи протягом заданої кількості мікросекунд між введенням/виводом.

thinktime_spin=Int
Уявіть, що витрачаєте час процесора протягом заданої кількості мікросекунд, залишаючи сплячий час
час, визначений час роздумів. Дійсний тільки якщо час роздумів встановлено.

thinktime_blocks=Int
Дійсний, лише якщо налаштовано thinktime - контролювати, скільки блоків видавати, перш ніж чекати
час роздумів мікросекунд. Якщо не встановлено, за замовчуванням встановлено значення 1, що змусить fio чекати
час роздумів мікросекунд після кожного блоку. Це ефективно створює будь-яку глибину черги
встановлення надлишкового, оскільки не більше 1 IO буде поставлено в чергу до того, як нам доведеться
завершити його та подумати. Іншими словами, цей параметр ефективно обмежує
глибина черги, якщо остання більша. За замовчуванням: 1.

швидкість=Int
Обмежити пропускну здатність, яку використовує це завдання. Число в байтах/с, звичайний постфікс
застосовуються правила. Ви можете використовувати швидкість=500k, щоб обмежити читання і запис до 500k кожен, або ви
можна вказати читання і запис окремо. Використання швидкість=1 мільйон 500 тисяч обмежить читання
1 МБ/с і записує до 500 КБ/с. За допомогою обмежень можна виконувати лише читання або запис
швидкість=,500 тис. або швидкість= 500 тис. Перший обмежить лише запис (до 500 КБ/с), файл
останнє обмежить лише читання.

швидкістьмін=Int
Сказати нитка робити все можливе, щоб підтримувати хоча б задану пропускну здатність. Невдача
виконання цієї вимоги призведе до завершення роботи. Той самий формат, що швидкість is
використовується для поділу читання та запису.

rate_iops=Int
Обмежте пропускну здатність до цієї кількості IOPS. В основному те саме, що і тариф, тільки
визначається незалежно від пропускної здатності. Той самий формат, що і швидкість використовується для читання vs
написати поділ. Якщо розмір блоку є діапазоном, найменший розмір блоку використовується як
метричний.

rate_iops_min=Int
Якщо ця швидкість введення-виводу не буде досягнута, завдання завершиться. Той самий формат, що швидкість використовується
для розділення читання та запису.

курсовий цикл=Int
Середня пропускна здатність для швидкість та швидкістьмін протягом цієї кількості мілісекунд. За замовчуванням:
1000ms.

latency_target=Int
Якщо встановлено, fio спробує знайти точку максимальної продуктивності для заданого робочого навантаження
виконуватиметься при збереженні затримки нижче цієї цільової. Значення наведено в
мікросекунд. Побачити latency_window та latency_percentile.

latency_window=Int
Використовується з latency_target щоб указати вікно зразка, у якому виконується завдання
різні глибини черги для перевірки продуктивності. Значення вказано в мікросекундах.

latency_percentile=плавати
Відсоток IO, які повинні підпадати під критерії, зазначені в
latency_target та latency_window. Якщо не встановлено, значення за замовчуванням становить 100.0, тобто
всі IO повинні бути рівними або нижчими від значення, встановленого latency_target.

max_latency=Int
Якщо встановлено, fio вийде із завдання, якщо воно перевищує цю максимальну затримку. Він вийде з
помилка ETIME.

cpumask=Int
Установіть спорідненість ЦП для цієї роботи. Int це бітова маска дозволених процесорів, на яких може виконуватися завдання.
Читати sched_setaffinity(2).

cpus_allowed=вул
Такий же, як cpumask, але дозволяє розділяти комами список номерів ЦП.

cpus_allowed_policy=вул
Встановіть політику того, як fio розподіляє процесори, зазначені в cpus_allowed or
cpumask. Підтримуються дві політики:

загальні Усі завдання будуть спільно використовувати вказаний набір ЦП.

розкол Кожна робота отримає унікальний ЦП із набору ЦП.

загальні є поведінкою за замовчуванням, якщо параметр не вказано. Якщо розкол is
вказано, тоді fio призначатиме один процесор для кожного завдання. Якщо надається недостатня кількість процесорів
перерахованих завдань, тоді fio обробить процесори в наборі.

numa_cpu_nodes=вул
Налаштуйте виконання цього завдання на ЦП певних вузлів NUMA. Аргументи допускають кому
розділений список номерів процесора, діапазонів AB або "всі".

numa_mem_policy=вул
Встановіть політику пам’яті цього завдання та відповідні вузли NUMA. Формат аргументів:

[: ]

режим є однією з наступних політик пам'яті:

за замовчуванням, віддайте перевагу, зв'язати, чергування, місцевий

для дефолт та місцевий політика пам'яті, немає ноделіст is
потрібно було уточнити. Для надавати перевагу, дозволений лише один вузол. Для пов'язувати та
переплутати, ноделіст дозволяє список чисел, розділених комами, діапазони AB або «всі».

затримка початку=помаранчевий
Відкласти початок роботи на вказану кількість секунд. Підтримує всі суфікси часу
щоб дозволити специфікацію годин, хвилин, секунд і мілісекунд - секунди
за замовчуванням, якщо одиницю не вказано. Можна задати як діапазон, який викликає кожен потік
щоб вибрати випадковим чином з діапазону.

час виконання=Int
Припиніть обробку через вказану кількість секунд.

на основі часу
Якщо дано, бігайте за вказаним час виконання тривалість, навіть якщо файли повністю
прочитаний або написаний. Одне і те ж навантаження буде повторюватися стільки разів час виконання
дозволяє.

ram_time=Int
Якщо встановлено, fio виконуватиме вказане робоче навантаження протягом цього періоду часу перед записом в журнал
будь-які показники продуктивності. Корисно, щоб дозволити продуктивності встановитися перед записом в журнал
результатів, таким чином мінімізуючи час виконання, необхідне для стабільних результатів. Зауважте, що
ram_time вважається залученням вчасно для роботи, таким чином це збільшить загальну суму
runtime, якщо вказано спеціальний тайм-аут або час виконання.

визнати недійсним=бул
Визнати недійсним буферний кеш для файлу перед запуском введення-виводу. За замовчуванням: true.

синхронізувати=бул
Використовуйте синхронний ввод-вивод для буферизованого запису. Для більшості механізмів вводу-виводу це
означає використання O_SYNC. За замовчуванням: false.

iomem=вул, Член=вул
Метод розподілу для буфера блоку введення-виводу. Допустимі значення:

Танос Виділити пам'ять за допомогою Танос(3).

шм Використовуйте буфери спільної пам’яті, виділені через shmget(2).

shmhuge
Такий же, як шм, але використовуйте великі сторінки як підкладку.

mmap Скористайтесь mmap(2) для розподілу. Використовує анонімну пам'ять, за винятком імені файлу
подається після параметра у форматі `:файл'.

mmafhuge
Такий же, як mmap, але використовуйте великі файли як підкладку.

Обсяг виділеної пам’яті є максимально дозволеним розмір блоку для роботи
помножене на iodeth. Форум shmhuge or mmafhuge щоб працювати, система повинна мати безкоштовну
виділені величезні сторінки. mmafhuge також потрібно змонтувати hugetlbfs, і файл повинен
вкажіть там. Принаймні в Linux величезні сторінки мають бути виділені вручну. Побачити
/proc/sys/vm/nr_hugehages і документацію для цього. Зазвичай вам просто потрібно
echo відповідне число, наприклад, echo 8 гарантує, що ОС має 8 величезних сторінок
готовий до використання.

iomem_align=Int, mem_align=Int
Це вказує на вирівнювання пам’яті буферів пам’яті IO. Зауважимо, що дане
вирівнювання застосовується до першого буфера одиниці введення-виведення, якщо використовується iodeth вирівнювання
наступні буфери надаються bs використаний. Іншими словами, якщо використовувати a bs Що
є кратним розміру сторінки в системі, усі буфери будуть вирівняні з цим
значення. Якщо використовується а bs це не вирівнювання сторінок, вирівнювання наступного IO
буфери пам'яті є сумою iomem_align та bs використаний

величезний розмір сторінки=Int
Визначає розмір величезної сторінки. Має бути щонайменше дорівнювати системним налаштуванням.
Має бути кратним 1 МБ. За замовчуванням: 4 МБ.

exitall
Припиніть усі роботи, коли закінчите одну. За замовчуванням: чекати завершення кожного завдання.

bwavgtime=Int
Обчислення середньої пропускної здатності за вказаний час у мілісекундах. За замовчуванням:
500ms.

iopsavgtime=Int
Середні обчислення IOPS за вказаний час у мілісекундах. За замовчуванням: 500 мс.

create_serialize=бул
Якщо значення true, серіалізуйте створення файлів для завдань. За замовчуванням: true.

create_fsync=бул
фсинк(2) файл даних після створення. За замовчуванням: true.

create_on_open=бул
Якщо значення true, файли не створюються, доки їх не відкриє завдання для введення-виведення.

create_only=бул
Якщо значення true, fio запустить лише етап налаштування завдання. Якщо файли потрібно розкласти
або оновлено на диску, тільки це буде зроблено. Фактичного змісту роботи немає
страчено.

дозволити_створення_файлу=бул
Якщо true, fio дозволяється створювати файли як частину свого робочого навантаження. Це
поведінка за замовчуванням. Якщо ця опція false, то fio виявиться помилкою, якщо файли це
потреби у використанні ще не існують. За замовчуванням: true.

дозволити_монтований_запис=бул
Якщо це не встановлено, fio скасовуватиме завдання, які є руйнівними (наприклад, які записують)
схоже на змонтований пристрій або розділ. Це має допомогти спіймати створення
ненавмисно руйнівні тести, не розуміючи, що тест знищить дані про
змонтована файлова система. За замовчуванням: false.

pre_read=бул
Якщо це вказано, файли будуть попередньо зчитовані в пам’ять перед запуском даного IO
операція. Це також очистить визнати недійсним прапор, оскільки безглуздо попередньо
прочитайте, а потім скиньте кеш. Це працюватиме лише для двигунів IO, які можна знайти,
оскільки вони дозволяють читати одні й ті ж дані кілька разів. Таким чином, це працювати не буде
наприклад, мережа або зрощення IO.

unlink=бул
Після завершення від’єднайте файли завдань. За замовчуванням: false.

петлі=Int
Вказує кількість ітерацій (виконання одного і того ж навантаження) цього завдання.
За замовчуванням: 1.

verify_only=бул
Не виконуйте вказане робоче навантаження, лише перевірте, чи дані все ще відповідають попереднім
виклик цього робочого навантаження. Ця опція дозволяє перевіряти дані кілька разів на
пізнішої дати без перезапису. Цей варіант має сенс лише для робочих навантажень
які записують дані та не підтримують робочі навантаження з на основі часу набір опцій.

do_verify=бул
Запустіть фазу перевірки після фази запису. Дійсний тільки якщо перевірити встановлено. За замовчуванням:
правда.

перевірити=вул
Метод перевірки вмісту файлу після кожної ітерації завдання. Кожен
Метод перевірки також передбачає перевірку спеціального заголовка, який записується
до початку кожного блоку. Цей заголовок також містить мета-інформацію, наприклад
зміщення блоку, номер блоку, мітка часу запису блоку тощо.
перевірити=str можна поєднувати з verify_pattern=str параметр. Допустимі значення:

md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 xxhash
Зберігайте відповідну контрольну суму в заголовку кожного блоку. crc32c-intel
керується апаратним прискоренням SSE4.2, повертається до звичайного crc32c
якщо не підтримується системою.

мета Ця опція не підтримується, оскільки тепер мета-інформація включена
загальний заголовок перевірки та мета-перевірка відбувається за замовчуванням.
Для отримання детальної інформації дивіться опис перевірити=вул
налаштування. Ця опція збережена через сумісність зі старим
конфігурації. Не використовуйте його.

модель
Перевірте суворий шаблон. Зазвичай fio включає заголовок з деякими
основну інформацію та контрольну суму, але лише якщо цей параметр встановлено
конкретний візерунок, набір с verify_pattern перевірено.

нулю Прикидайтеся, що перевіряєте. Використовується для перевірки внутрішніх елементів.

Цю опцію можна використовувати для повторних тестів вигорання системи, щоб переконатися в цьому
записані дані також правильно зчитуються. Якщо вказаний напрямок даних є читанням
або випадкове читання, fio вважатиме, що він повинен перевірити раніше записаний файл. Якщо
напрям даних включає будь-яку форму запису, перевірка буде новою
письмові дані.

verifysort=бул
Якщо вірно, блоки письмової перевірки сортуються, якщо нитка вважає, що читати їх буде швидше
назад у відсортований спосіб. За замовчуванням: true.

verifysort_nr=Int
Попереднє завантаження та сортування блоків перевірки для робочого навантаження читання.

verify_offset=Int
Перед записом поміняйте заголовок перевірки даними в іншому місці блоку.
Перед перевіркою він замінюється.

verify_interval=Int
Напишіть заголовок перевірки для цієї кількості байтів, які слід розділити
розмір блоку. За замовчуванням: розмір блоку.

verify_pattern=вул
Якщо встановлено, fio заповнює буфери io цим шаблоном. За замовчуванням Fio заповнюється
з абсолютно випадковими байтами, але іноді цікаво заповнити відомим
шаблон для цілей перевірки io. Залежно від ширини візерунка, фіо
заповнить 1/2/3/4 байта буфера на момент часу (вона може бути десятковою або
шістнадцятковий номер). Verify_pattern, якщо більше 32-бітової кількості, має бути шістнадцятковим
число, яке починається з "0x" або "0X". Використовуйте з перевірити=вул. також,
verify_pattern підтримує формат %o, що означає, що для кожного блоку буде зміщення
написано, а потім перевірено назад, наприклад:
verify_pattern=%o
Або використовуйте комбінацію всього:

verify_pattern=0xff%o"abcd"-21

verify_fatal=бул
Якщо вірно, вийдіть із завдання при першому виявленні помилки перевірки. За замовчуванням: false.

verify_dump=бул
Якщо встановлено, дампуйте вміст як вихідного блоку даних, так і блоку даних we
зчитувати з диска у файли. Це дозволяє пізніше аналізу перевірити, який саме тип
відбулося пошкодження даних. Вимкнено за замовчуванням.

verify_async=Int
Зазвичай Fio перевіряє IO вбудований з потоку подання. Цей варіант займає
ціле число, що описує кількість асинхронних потоків розвантаження, які потрібно створити для перевірки IO
натомість, змушуючи fio розвантажувати обов'язок перевірки вмісту IO на одного або кількох
окремі нитки. Використовуючи цю опцію розвантаження, навіть двигуни синхронізації IO можуть отримати користь
від використання an iodeth значення вище 1, оскільки це дозволяє їм мати IO під час польоту
під час виконання перевірки.

verify_async_cpus=вул
Повідомте fio, щоб встановити спорідненість ЦП у потоках перевірки асинхронного введення-виведення. Побачити
cpus_allowed для використовуваного формату.

verify_backlog=Int
Зазвичай Fio перевіряє письмовий вміст завдання, яке використовує перевірку один раз
ця робота завершена. Іншими словами, все написано, значить, все є
прочитати і перевірити. Замість цього ви можете постійно перевіряти різноманітність
причини. Fio зберігає в пам'яті метадані, пов'язані з блоком введення-виведення, тому для
велике робоче навантаження перевірки, досить багато пам’яті буде використано для утримання цієї мета
дані. Якщо цей параметр увімкнено, fio запише лише N блоків перед перевіркою
ці блоки.

verify_backlog_batch=Int
Контролюйте, скільки блоків fio перевірить, якщо налаштовано verify_backlog. Якщо не встановлено, буде
за замовчуванням значення verify_backlog (це означає, що вся черга зчитується назад і
перевірено). Якщо verify_backlog_batch менше, ніж verify_backlog тоді не всі блоки
буде перевірено, якщо verify_backlog_batch більше, ніж verify_backlog, Деякі
блоки будуть перевірені більше одного разу.

відсоток обрізки=Int
Кількість блоків перевірки, які потрібно відкинути/обрізати.

trim_verify_zero=бул
Переконайтеся, що обрізані/відкинуті блоки повертаються як нулі.

trim_backlog=Int
Обрізати після запису цієї кількості блоків.

trim_backlog_batch=Int
Обріжте цю кількість блоків IO.

eksperimental_verify=бул
Увімкнути експериментальну перевірку.

verify_state_save=бул
Коли завдання завершується під час фази запису робочого навантаження перевірки, збережіть його поточний
держава. Це дозволяє fio відтворюватися до цього моменту, якщо стан перевірки завантажено
для фази перевірки читання.

verify_state_load=бул
Якщо використовувався тригер завершення перевірки, fio зберігає поточний стан запису
кожну нитку. Це можна використовувати під час перевірки, щоб fio знав, наскільки це далеко
слід перевірити. Без цієї інформації fio запустить повну перевірку,
відповідно до налаштувань у файлі завдання.

кам'яна стіна , очікування_попереднього
Зачекайте, поки попередні завдання у файлі завдання завершиться, перш ніж запускати цю.
кам'яна стіна мається на увазі нова_група.

нова_група
Створіть нову групу звітів. Якщо не вказано, усі завдання у файлі будуть частиною
та сама група звітності, якщо вони не розділені кам'яною стіною.

кількість робочих місць=Int
Кількість клонів (процесів/потоків, які виконують однакове навантаження) цього завдання.
За замовчуванням: 1.

групова_звітність
Якщо налаштовано, відображати звіти за групою, а не за завданням, коли кількість робочих місць вказано.

нитка Використовуйте потоки, створені за допомогою pthread_create(3) замість процесів, створених за допомогою
вилка(2).

розмір зони=Int
Розділіть файл на зони заданого розміру в байтах. Побачити пропуск зони.

зонний діапазон=Int
Вкажіть розмір зони введення. Побачити пропуск зони.

пропуск зони=Int
Пропустити вказану кількість байтів, коли розмір зони байти даних було прочитано.

write_iolog=вул
Запишіть випущені шаблони вводу-виводу у вказаний файл. Вкажіть окремий файл для
кожне завдання, інакше iologi будуть перемежовуватися, і файл може бути пошкоджений.

read_iolog=вул
Відтворіть шаблони введення-виводу, що містяться у зазначеному файлі, створеному write_iolog,
або може бути a blktrace двійковий файл.

replay_no_stall=Int
Під час відтворення шаблонів введення-виводу за допомогою read_iolog поведінка за замовчуванням намагається
поважайте інформацію про час між вводами/виводами. Увімкнення replay_no_stall викликає введення/виводу
відтворюватися якомога швидше, дотримуючись порядку.

replay_redirect=вул
Під час відтворення шаблонів введення-виводу за допомогою read_iolog поведінкою за замовчуванням є повторне відтворення
IOPS на основний/додатковий пристрій, з якого було записано кожен IOP. Налаштування
replay_redirect призводить до повторного відтворення всіх IOPS на одному вказаному пристрої
незалежно від пристрою, з якого він записаний.

replay_align=Int
Примусове вирівнювання зміщень і довжин IO в трасі до цього значення в степені 2.

replay_scale=Int
Сектор масштабу зменшується на цей фактор під час відтворення трас.

per_job_logs=бул
Якщо встановлено, це генерує журнал bw/clat/iops з приватними іменами файлів. Якщо ні
set, завдання з ідентичними іменами матимуть спільну назву файлу журналу. За замовчуванням: true.

write_bw_log=вул
Якщо вказано, запишіть журнал пропускної здатності завдань у цьому файлі завдання. Можна використовувати для зберігання
дані про пропускну здатність робочих місць протягом їхнього існування. У комплекті
Сценарій fio_generate_plots використовує gnuplot, щоб перетворити ці текстові файли на гарні графіки.
Читати write_lat_log для поведінки заданого імені файлу. Для цього параметра постфікс є
_bw.x.log, де x — індекс роботи (1..N, де N — кількість робіт).
If per_job_logs false, тоді ім’я файлу не включатиме індекс завдання.

write_lat_log=вул
Такий же, як write_bw_log, але записує затримки завершення вводу-виводу. Якщо ім'я файлу не вказано
з цією опцією використовується ім’я файлу за замовчуванням «jobname_type.x.log», де x є
індекс роботи (1..N, де N – кількість робочих місць). Навіть якщо ім’я файлу таке
враховуючи, fio все одно додасть тип журналу. Якщо per_job_logs є хибним, то
ім'я файлу не включатиме індекс завдання.

write_iops_log=вул
Такий же, як write_bw_log, але пише IOPS. Якщо ця опція не вказує ім’я файлу,
використовується ім'я файлу за замовчуванням "jobname_type.x.log", де x є індексом
робота (1..N, де N – кількість робочих місць). Навіть якщо вказано ім’я файлу, fio буде
все одно додайте тип журналу. Якщо per_job_logs false, то ім'я файлу не буде
включити індекс роботи.

log_avg_msec=Int
За замовчуванням, fio реєструватиме запис у журналі операцій введення, затримки або bw для кожного IO,
завершує. Під час запису в журнал диска він може швидко збільшитися до дуже великого
розмір. Встановлення цього параметра змусить fio усереднювати кожен запис журналу за вказаний
періоду часу, зменшуючи роздільну здатність журналу. За замовчуванням 0.

log_offset=бул
Якщо це встановлено, параметри iolog включатимуть зміщення байтів для запису IO as
а також інші значення даних.

log_compression=Int
Якщо це встановлено, fio буде стискати журнали введення-виведення, щоб зберегти пам’ять
слід нижче. Коли журнал досягає вказаного розміру, цей шматок видаляється та
стиснутий у фоновому режимі. Враховуючи, що журнали введення-виведення є досить стисливими,
це дає хорошу економію пам'яті для тривалої роботи. Мінусом є те, що
стиснення споживає деякі фонові цикли ЦП, тому це може вплинути на виконання.
Це, однак, також справедливо, якщо ведення журналу в кінцевому підсумку споживає більшу частину системи
пам'ять. Тож виберіть свою отруту. Журнали вводу-вводу зазвичай зберігаються наприкінці прогону за
розпакування фрагментів і збереження їх у зазначеному файлі журналу. Ця особливість
залежить від наявності zlib.

стиснутий_сховище журналу=бул
Якщо встановлено, і журнал_compression також встановлено, fio зберігатиме файли журналу в a
стиснутий формат. Їх можна розпакувати за допомогою fio, використовуючи файл --надути журнал
параметр командного рядка. Файли зберігатимуться за допомогою a .fz суфікс.

block_error_percentililes=бул
Якщо встановлено, записуйте помилки в одиницях обрізки розміром блоку від записів і обрізок і виведення a
гістограма того, скільки обрізок знадобилося, щоб дістатися до помилок, і яка була помилка
стикалися.

disable_lat=бул
Вимкнути вимірювання загальних чисел затримок. Корисно лише для обрізання
кількість дзвінків на gettimeofday(2), оскільки це дуже впливає на продуктивність
Ставки IOPS. Зверніть увагу, що щоб дійсно позбутися великої кількості цих дзвінків, це
Параметр також слід використовувати з disable_slat та disable_bw.

disable_clat=бул
Вимкнути вимірювання чисел затримки завершення. Побачити disable_lat.

disable_slat=бул
Вимкнути вимірювання чисел затримки подання. Побачити disable_lat.

disable_bw_measurement=бул
Вимкніть вимірювання пропускної здатності/пропускної здатності. Побачити disable_lat.

замок=Int
Закріпіть вказаний обсяг пам’яті за допомогою mlock(2). Можна використовувати для моделювання a
менший обсяг пам'яті. Вказана сума вказана на одного працівника.

exec_prerun=вул
Перед запуском завдання виконайте вказану команду за допомогою система(3).
Вихідні дані перенаправляються у файл під назвою jobname.prerun.txt

exec_postrun=вул
Такий же, як exec_prerun, але команда виконується після завершення завдання.
Вихідні дані перенаправляються у файл під назвою jobname.postrun.txt

ioscheduler=вул
Спробуйте переключити пристрій, на якому розміщено файл, на вказаний планувальник вводу-виводу.

disk_util=бул
Згенеруйте статистику використання диска, якщо платформа це підтримує. За замовчуванням: true.

джерело годинника=вул
Використовуйте вказане джерело тактування як основу хронометражу. Підтримувані параметри:

gettimeofday
gettimeofday(2)

clock_gettime
clock_gettime(2)

центральний процесор Внутрішнє джерело тактової частоти ЦП

центральний процесор є кращим джерелом тактування, якщо воно надійне, оскільки воно дуже швидке
(а fio дуже важкий за часом дзвінків). Fio автоматично використовуватиме це джерело годинника, якщо
він підтримується та вважається надійним у системі, на якій він працює, якщо
інше джерело тактування спеціально налаштовано. Для процесорів x86/x86-64 це означає підтримку
Інваріант TSC.

gtod_reduce=бул
Увімкнути всі gettimeofday(2) параметри зменшення (disable_clat, disable_slat,
disable_bw) плюс дещо зменшити точність тайм-ауту, щоб дійсно зменшити
gettimeofday(2) кількість викликів. Якщо цю опцію ввімкнено, ми робимо лише близько 0.4% від цього
Виклики gtod(), які ми б зробили, якби було ввімкнено весь час.

gtod_cpu=Int
Іноді дешевше присвятити один потік виконання простому отриманню
Поточний час. Fio (і бази даних, наприклад) дуже інтенсивно
gettimeofday(2) дзвінки. За допомогою цієї опції ви можете виділити один ЦП для виконання
нічого, крім реєстрації поточного часу в спільній пам'яті. Потім інший
потоки/процеси, які запускають робочі навантаження IO, мають лише копіювати цей сегмент, а не
вхід до ядра за допомогою a gettimeofday(2) дзвінок. ЦП, виділений для цього
дзвінки часу будуть виключені з іншого використання. Fio вручну очистить його від
Маска ЦП інших завдань.

ignore_error=вул
Іноді ви хочете ігнорувати деякі помилки під час тестування, у цьому випадку ви можете вказати
список помилок для кожного типу помилок.
ignore_error=READ_ERR_LIST,WRITE_ERR_LIST,VERIFY_ERR_LIST
помилки для даного типу помилки відокремлюються символом «:». Помилка може бути символом ("ENOSPC",
"ENOMEM") або ціле число.
Приклад: ignore_error=EAGAIN,ENOSPC:122 .
Ця опція ігнорує EAGAIN з READ, а ENOSPC і 122(EDQUOT) з WRITE.

error_dump=бул
Якщо встановлено дамп кожної помилки, навіть якщо вона не є фатальною, за замовчуванням true. Тільки якщо вимкнено
фатальна помилка буде видалена

профіль=вул
Виберіть певний вбудований тест продуктивності.

cgroup=вул
Додати роботу до цієї контрольної групи. Якщо він не існує, він буде створений. Система
Щоб це працювало, необхідно мати змонтовану точку монтування cgroup blkio. Якщо ваша система
якщо його немає, ви можете зробити це за допомогою:

# монтувати -t cgroup -o blkio немає /cgroup

cgroup_weight=Int
Встановіть вагу cgroup на це значення. Дивіться документацію, яка додається
ядра, дозволені значення знаходяться в діапазоні 100..1000.

cgroup_nodelete=бул
Зазвичай fio видаляє cgroups, які він створив після завершення завдання. До
перевизначити цю поведінку та залишити cgroups після завершення завдання, set
cgroup_nodelete=1. Це може бути корисно, якщо ви хочете перевірити різні файли cgroup
після завершення роботи. За замовчуванням: false

UID=Int
Замість того, щоб працювати як користувач, який викликає, встановіть ідентифікатор користувача на це значення перед
потік/процес виконує будь-яку роботу.

gid=Int
Установити ідентифікатор групи, див UID.

unit_base=Int
Базовий блок звітності. Допустимі значення:

0 Використовувати автоматичне визначення (за замовчуванням).

8 На основі байтів.

1 На основі біт.

flow_id=Int
Ідентифікатор потоку. Якщо не вказано, за замовчуванням він є глобальним потоком. Подивитися потік.

потік=Int
Вага в управлінні потоком на основі маркерів. Якщо використовується це значення, то є a потік
протидія який використовується для регулювання пропорції активності між двома або більше
робочі місця. fio намагається підтримувати цей лічильник потоків біля нуля. The потік стенди параметрів
скільки потрібно додати або відняти до лічильника потоку на кожній ітерації
основний цикл введення-виведення. Тобто, якщо одна робота є потік=8 і інша робота має потік=-1, То
буде приблизно 1:8 співвідношення кількості пробігу одного та іншого.

flow_watermark=Int
Максимальне значення, якого дозволяється досягти абсолютному значенню лічильника потоку
перед виконанням завдання необхідно дочекатися меншого значення лічильника.

flow_sleep=Int
Проміжок часу в мікросекундах, протягом якого потрібно чекати після того, як водяний знак потоку був створений
перевищено до повторної спроби операції

clat_percentililes=бул
Увімкнути звіти про процентилі затримок завершення.

процентний_список=float_list
Перезаписати список процентилів за замовчуванням для затримок завершення та блоку
гістограма помилок. Кожне число є числом з плаваючою можливістю в діапазоні (0,100], а
максимальна довжина списку — 20. Використовуйте ':', щоб розділити числа. Наприклад,
--percentile_list=99.5:99.9 змусить fio повідомляти значення завершення
затримка, нижче якої впали 99.5% і 99.9% спостережуваних затримок відповідно.

Іодвигун параметри список
Деякі параметри дійсні лише тоді, коли використовується певний ioengine. Ці використовуються
ідентично звичайним параметрам, із застереженням, що при використанні в командному рядку вони
має прийти після ioengine.

(cpu) cpuload=Int
Спробуйте використати вказаний відсоток циклів ЦП.

(cpu) cpuchunks=Int
Розділіть навантаження на цикли заданого часу. У мікросекундах.

(cpu)exit_on_io_done=бул
Визначте, коли потоки введення-виведення закінчено, а потім вийдіть.

(libaio)userspace_reap
Зазвичай, коли використовується двигун libaio, fio використовує системний виклик io_getevents
щоб пожинати щойно повернулися події. Якщо цей прапор увімкнено, кільце AIO буде прочитано
безпосередньо з простору користувача для отримання подій. Режим жатки вмикається лише тоді, коли
опитування мінімум для 0 подій (наприклад, коли iodepth_batch_complete=0).

(net,netsplice)ім'я хоста=вул
Ім’я хоста або IP-адреса, які будуть використовуватися для введення-виведення на основі TCP або UDP. Якщо робота є TCP
прослуховувача або зчитувача UDP, ім’я хоста не використовується і має бути опущено, якщо це не a
дійсна багатоадресна адреса UDP.

(net,netsplice)порт=Int
Порт TCP або UDP, до якого потрібно підключитися. Якщо це використовується з кількість робочих місць нереститися
кілька екземплярів одного типу завдання, то це буде початковий номер порту
оскільки fio використовуватиме ряд портів.

(net,netsplice) інтерфейс=вул
IP-адреса мережевого інтерфейсу, який використовується для надсилання або отримання групової розсилки UDP
пакети.

(net,netsplice)ttl=Int
Значення часу життя вихідних багатоадресних пакетів UDP. За замовчуванням: 1

(net,netsplice)затримка вузла=бул
Встановіть TCP_NODELAY для TCP-з'єднань.

(net,netsplice)протокол=вул, тому=вул
Мережевий протокол для використання. Допустимі значення:

тпп Протокол керування передачею

tcpv6 Протокол керування передачею V6

udp Протокол дейтаграм користувача

udpv6 Протокол дейтаграм користувача V6

UNIX Доменний сокет UNIX

Якщо протоколом є TCP або UDP, потрібно також вказати порт, а також
ім'я хоста, якщо завдання є прослуховувачем TCP або зчитувачем UDP. Для unix-сокетів звичайний
слід використовувати параметр імені файлу, а порт недійсний.

(net,netsplice)слухай
Для мережевих з’єднань TCP скажіть fio, щоб він слухав вхідні з’єднання
ніж ініціювати вихідне з'єднання. Ім’я хоста має бути опущено, якщо цей параметр
використовується.

(нетто,пінг Понг)=бул
Зазвичай мережевий записувач просто продовжує записувати дані, а мережевий зчитувач
буде просто споживати пакети. Якщо встановлено pingpong=1, записувач надішле його нормальний
корисне навантаження до зчитувача, а потім зачекайте, поки зчитувач надішле те саме корисне навантаження назад.
Це дозволяє fio вимірювати затримки мережі. Подання та завершення
потім затримки вимірюють місцевий час, витрачений на відправку або отримання, і завершення
затримка вимірює, скільки часу знадобилося іншій стороні, щоб отримати та надіслати назад. Для
Трафік багатоадресної передачі UDP pingpong=1 слід встановлювати лише для одного зчитувача, коли
кілька читачів слухають ту саму адресу.

(нетто,розмір вікна)=Int
Встановіть потрібний розмір буфера сокета для підключення.

(нетто,mss)=Int
Встановіть максимальний розмір сегмента TCP (TCP_MAXSEG).

(e4defrag, ім'я донора)=вул
Файл буде використовуватися як донор блоку (поміняти розміри між файлами)

(e4defrag, inplace)=Int
Налаштуйте стратегію розподілу блоків файлів-донорів
0 (за замовчуванням): Попередньо розподіліть файл донора під час ініціалізації

1: виділити місце безпосередньо всередині події дефрагментації та звільнити відразу після цього
подія

(rbd)rbdname=вул
Вказує назву RBD.

(rbd) пул=вул
Вказує назву пулу Ceph, що містить RBD.

(rbd)ім'я клієнта=вул
Вказує ім’я користувача (без префікса 'client.'), яке використовується для доступу до Ceph
кластер

(mtd) пропустити=бул
Пропускати операції проти відомих шкідливих блоків.

ВИХІД


під час бігу, нитка відображатиме статус створених завдань. Наприклад:

Теми: 1: [_r] [24.8% виконано] [ 13509/ 8334 кб/с] [eta 00h:01m:31s]

Символи в першому наборі дужок позначають поточний статус кожного потоку.
Можливі значення:

P Налаштування, але не розпочато.
C Потік створено.
I Ініціалізовано, чекаємо.
R Біг, послідовне читання.
r Запуск, довільне читання.
W Запуск, виконання послідовних записів.
w Запуск, виконання випадкових записів.
M Запуск, виконання змішаних послідовних читань/записів.
m Запуск, виконання змішаного випадкового читання/запису.
F Запущено, наразі чекаємо фсинк(2).
V Запуск, перевірка письмових даних.
E Вийшов, не пожато основним потоком.
- Вийшов, нитка пожата.

Другий набір дужок показує приблизний відсоток завершення поточної групи.
Третій набір показує швидкість читання та запису відповідно. Нарешті, приблизний пробіг
відображається час виконання завдання.

Коли нитка завершується (або переривається Ctrl-C), відображаються дані для кожного потоку
групу потоків і кожен диск у такому порядку.

Статистика для кожного потоку спочатку показує номер клієнта потоків, ідентифікатор групи та код помилки. The
решта цифри такі:

io Кількість виконаних мегабайт вводу-виводу.

bw Середня швидкість передачі даних (пропускна здатність).

іржа Час виконання потоків.

планка Мінімальна, максимальна, середня і стандартне відхилення затримки подання. Це
час, необхідний для подання вводу-виводу.

клапт Мінімальна, максимальна, середня і стандартне відхилення затримки завершення. Це
це час між поданням і завершенням.

bw Мінімальна, максимальна пропускна здатність, відсоток отриманої сукупної пропускної здатності,
середнє і стандартне відхилення.

центральний процесор Статистика використання ЦП. Включає час користувача та системи, кількість контексту
перемикачі, через які пройшов цей потік, і кількість основних і незначних помилок сторінок.

IO глибини
Розподіл глибини введення/виводу. Кожна глибина включає все, що менше (або
дорівнює) йому, але більша за попередню глибину.

IO випущений
Кількість виданих запитів на читання/запис і кількість коротких запитів на читання/запис
запити.

IO затримки
Розподіл затримок завершення вводу-виводу. Цифри йдуть так само
візерунок як IO глибини.

Групова статистика показує:
io Кількість виконаних мегабайт введення-виводу.
агрб Сукупна пропускна здатність потоків у групі.
хв b Мінімальна середня пропускна здатність різьбової пилки.
maxb Максимальна середня пропускна здатність різьбової пилки.
м'ята Найкоротший час виконання потоків у групі.
макс Найдовший час роботи потоків у групі.

Нарешті, статистика диска друкується з першим читанням:
ios Кількість вводів-виводів, виконаних усіма групами.
злиття Кількість об’єднань у планувальнику вводу/виводу.
кліщі Кількість тиків, якими ми тримали диск зайнятий.
io_queue
Загальний час перебування в черзі диска.
утиль Використання диска.

Також можна змусити fio скидати поточний вихід, поки він працює, без
припинення роботи. Для цього надішліть fio 1 XNUMX доларів США сигнал.

ТЕРСИ ВИХІД


Якщо --мінімальний / --append-tarse надані параметри, результати будуть роздруковані/додані
у форматі, розділеному крапкою з комою, придатному для використання в сценарії. Посадова інструкція (якщо
за умови) переходить з нового рядка. Зверніть увагу, що перша цифра в рядку – це версія
номер. Якщо з якоїсь причини необхідно змінити вихід, це число буде збільшено
на 1, щоб позначити цю зміну. Поля:

стислий версія, нитка версія, назва роботи, групід, помилка

Статус прочитання:
Усього: I / O (КБ), ширина смуги (КБ/с), IOPS, час виконання (мс)

Затримка надсилання:
min, max, означає, standard відхилення
Затримка завершення:
min, max, означає, standard відхилення
Процентилі затримки завершення (20 полів):
X-й процентиль=усек
Загальна затримка:
min, max, означає, standard відхилення
Пропускна здатність:
min, max, сукупність відсоток of всього, означає, standard відхилення

Написати статус:
Усього: I / O (КБ), ширина смуги (КБ/с), IOPS, час виконання (мс)

Затримка надсилання:
min, max, означає, standard відхилення
Затримка завершення:
min, max, означає, standard відхилення
Процентилі затримки завершення (20 полів):
X-й процентиль=усек
Загальна затримка:
min, max, означає, standard відхилення
Пропускна здатність:
min, max, сукупність відсоток of всього, означає, standard відхилення

Використання процесора:
Користувач системи, контекст перемикачі, основний сторінка помилки, незначний сторінка недоліки

Розподіл глибини введення:
<=1, 2, 4, 8, 16, 32, > = 64

Розподіл затримки IO:
Мікросекунди:
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000
Мілісекунди:
<=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, > = 2000

Використання диска (1 на кожен використаний диск):
ім'я, зчитування ios, запис ios, зчитування зливається, запис зливається, зчитування кліщі, запис
кліщі, зчитування в черзі час запис в черзі час диск утилізація відсоток

Інформація про помилку (залежно від continue_on_error, за замовчуванням вимкнено):
загальний # помилки, перший помилка код

текст description (якщо за умови in конфиг - з'являється on новий рядок)

КЛІЄНТ / SERVER


Зазвичай ви запускаєте fio як окрему програму на машині, де знаходиться IO
повинно бути створене робоче навантаження. Однак також можна запустити фронтенд і бекенд
з fio окремо. Це дає можливість запустити сервер fio на комп’ютері(ах)
де має виконуватися робоче навантаження IO, керуючи нею з іншої машини.

Щоб запустити сервер, ви повинні зробити:

нитка --server=args

на цій машині, де args визначає, що слухає fio. Аргументи мають форму
"тип: ім'я хосту або IP: порт". "тип" - це або "ip" (або ip4) для TCP/IP v4, "ip6" для TCP/IP
v6, або 'sock' для локального сокета домену Unix. "hostname" - це ім'я хоста або IP
адресу, а "порт" - це порт для прослуховування (дійсний лише для TCP/IP, а не для локального сокета).
Приклади:

1) fio --сервер

Запустіть сервер fio, прослуховуючи всі інтерфейси на порту за замовчуванням (8765).

2) fio --server=ip:hostname,4444

Запустіть сервер fio, прослуховуючи IP-адресу, що належить імені хосту, і порт 4444.

3) fio --server=ip6:::1,4444

Запустіть сервер fio, прослуховуючи IPv6 localhost ::1 і порт 4444.

4) fio --server=,4444

Запустіть сервер fio, прослуховуючи всі інтерфейси на порту 4444.

5) fio --server=1.2.3.4

Запустіть сервер fio, прослуховуючи IP 1.2.3.4 на порту за замовчуванням.

6) fio --server=sock:/tmp/fio.sock

Запустіть сервер fio, прослуховуючи локальний сокет /tmp/fio.sock.

Коли сервер запущено, ви можете підключитися до нього з клієнта. Клієнт запускається за допомогою:

fio --local-args --client=server --remote-args

де --local-args є аргументами, які є локальними для клієнта, на якому він працює,
'server' - це рядок підключення, а --remote-args і надсилаються до
сервер. Рядок «сервер» має той самий формат, що й на стороні сервера, до
дозволити рядки IP/hostname/socket and port. Ви також можете підключитися до кількох клієнтів,
для цього ви можете запустити:

fio --client=server2 --client=server2

Якщо файл завдання знаходиться на сервері fio, ви можете вказати серверу завантажити локальний файл
файл також. Це робиться за допомогою --remote-config:

fio --client=server --remote-config /path/to/file.fio

Тоді fio відкриє цей локальний (на сервер) файл завдання замість того, щоб його передати
клієнт.

Якщо у вас багато серверів (наприклад: 100 віртуальних машин/контейнерів), ви можете ввести шлях до файлу
містить IP-адреси/імена хостів як значення параметра для параметра --client. Наприклад,
ось приклад файлу "host.list", що містить 2 імена хостів:

host1.your.dns.domain
host2.your.dns.domain

Тоді команда fio буде такою:

fio --client=host.list

У цьому режимі ви не можете вводити специфічні для сервера параметри або файли завдань, а також усі сервери
отримати той самий файл роботи.

Щоб увімкнути роботу fio --client із використанням спільної файлової системи з кількох хостів,
fio --client тепер додає IP-адресу сервера до імені файлу. Наприклад, якщо
fio використовує каталог /mnt/nfs/fio і пише ім'я файлу fileio.tmp з --client
файл хосту, що містить два імена хостів h1 і h2 з IP-адресами 192.168.10.120 і
192.168.10.121, тоді fio створить два файли:

/mnt/nfs/fio/192.168.10.120.fileio.tmp
/mnt/nfs/fio/192.168.10.121.fileio.tmp

AUTHORS


нитка був написаний Йенсом Аксбо[захищено електронною поштою]>, тепер Йенс Аксбо[захищено електронною поштою]>.
Цю довідкову сторінку написав Аарон Керролл[захищено електронною поштою]> на підставі документації
автор: Йенс Аксбо.

ЗВІТНІСТЬ БУГИ


Повідомте про помилки до нитка список адресатів[захищено електронною поштою]>. Побачити README.

Використовуйте fio онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    OfficeFloor
    OfficeFloor
    OfficeFloor забезпечує інверсію
    управління зв'язком, з його: - залежністю
    ін'єкція - продовження ін'єкції -
    для додаткової інформації
    відвідати...
    Завантажити OfficeFloor
  • 2
    DivKit
    DivKit
    DivKit є відкритим вихідним кодом, керованим сервером
    Інтерфейс користувача (SDUI). Це дозволяє вам
    розгорнути серверні оновлення для
    різні версії програми. Крім того, це може бути
    використовується для...
    Завантажте DivKit
  • 3
    субконвертор
    субконвертор
    Утиліта для конвертації між різними
    формат підписки. Користувачі Shadowrocket
    слід використовувати ss, ssr або v2ray як ціль.
    Ви можете додати &remark= до
    Телеграм-лайк HT...
    Завантажити субконвертер
  • 4
    ВАШ
    ВАШ
    SWASH — числове число загального призначення
    інструмент для моделювання нестійкості,
    негідростатичний, з вільною поверхнею,
    обертальний потік і транспортні явища
    у прибережних водах як...
    Завантажити SWASH
  • 5
    VBA-M (заархівовано – зараз на Github)
    VBA-M (заархівовано – зараз на Github)
    Проект переміщено в
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Особливості: Створення чітів, збереження кількох станів
    система, підтримує gba, gbc, gb, sgb,
    sgb2Tu...
    Завантажте VBA-M (архівовано - тепер на Github)
  • 6
    Стацер
    Стацер
    Оптимізатор і моніторинг системи Linux
    Репозиторій Github:
    https://github.com/oguzhaninan/Stacer.
    Аудиторія: кінцеві користувачі/комп’ютер. Користувач
    інтерфейс: Qt. Програмування La...
    Завантажити Stacer
  • Детальніше »

Команди Linux

Ad