ПРИВАТНА ОФШОРНА ІНФРАСТРУКТУРА
Зберігання та відновленняДля досвідчених · 6 хв читання

Вимірюйте продуктивність NVMe, не вводячи себе в оману

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

Автор: SwissOctet Editorial
ПРЯМА ВІДПОВІДЬ

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

01

Почніть із запитання про зберігання, а не з оцінки

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

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

02

Опишіть робоче навантаження у відтворюваних термінах

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

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

Шаблон застосункуВимір тесту для описуРезультат для вивчення
Доставка великих файлівПослідовні читання та паралельні клієнтиСтабільна пропускна здатність і використання CPU
Пошук записуДрібні випадкові читання та репрезентативний паралелізмРозподіл затримки та завершені операції
Довговічна транзакціяВимоги до запису та синхронізаціїЗатримка, пов'язана з фіксацією, а не лише швидкість буферизованого запису
Збірка або розпакуванняЗмішані операції з дрібними файламиТривалість завдання від початку до кінця та очікування вводу-виводу
03

Керуйте кешуванням, не вдаючи, що воно не має значення

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

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

04

Читайте хвости затримки разом із пропускною здатністю

Середня затримка може приховувати повільні операції, що впливають на реальні запити. Вивчайте звітні процентилі та кількість вибірок за ними. Високий процентиль описує межу, нижче якої впала зазначена частка спостережуваних операцій під час того тесту; це не постійна гарантія рівня обслуговування. Короткі або нерепрезентативні запуски дають обмежені докази про завантажені виробничі періоди.

Більша глибина черги може покращити завершену пропускну здатність, збільшуючи час очікування. Цей компроміс може підходити для пакетної обробки та шкодити інтерактивному сервісу. Порівнюйте результати за паралелізму, схожого на застосунок, і водночас відстежуйте CPU та тиск вводу-виводу. Зупиніться, перш ніж тест створить непотрібні перешкоди для іншого робочого навантаження, що ділить середовище.

05

Тримайте тест авторизованим і не руйнівним

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

Для оцінки, схожої на виробничу, узгодьте вікно обслуговування та збережіть моніторинг застосунку. Використовуйте вигадані дані, коли можливо. Не робіть висновків про надійність сховища з тесту швидкості: перевірки цілісності, резервні копії та відновлення — це окремі завдання. Пристрій, що завершує бенчмарк, усе ще потребує стратегії відновлення на випадок видалення, програмних помилок або втрати машини.

06

Замкніть цикл доказами з застосунку

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

Pulse NVMe і вибрані виділені конфігурації перелічують сховище NVMe у каталозі SwissOctet. Їхні ярлики — це специфікації, а не опубліковані бенчмарки застосунків. Використовуйте контрольований метод для оцінки наданого середовища та зберігайте умови разом із висновками. Рішення стає сильнішим, коли вимірювання сховища та видимий користувачеві результат відповідають на одне й те саме запитання.

ПЕРЕТВОРІТЬ ЦЕ НА ДІЮ

Ваш практичний контрольний список.

  • Спочатку визначте запитання застосунку.
  • Запишіть шаблон, розмір блоку, паралелізм і тривалість.
  • Вкажіть припущення щодо кешу та режиму вводу-виводу.
  • Перевіряйте процентилі затримки, а також пропускну здатність.
  • Використовуйте перевірену одноразову ціль і обмежене початкове навантаження.
  • Підтвердьте висновок тестом застосунку.
ПОШИРЕНІ ЗАПИТАННЯ

Деталі, які мають значення.

Чи достатньо послідовного копіювання для порівняння сховища бази даних?+

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

Чи доводить прямий ввід-вивід довговічні записи?+

Ні. Буферизація та довговічність — це окремі питання. Узгодьте поведінку синхронізації, потрібну застосунку.

Чи можу я опублікувати один тест як гарантовану швидкість тарифу?+

Ні. Публікуйте його умови та обсяг. Виміряний результат одного запуску не є гарантією рівня обслуговування чи майбутньої продуктивності.

ОСНОВНІ ДЖЕРЕЛА

Перейдіть до джерела.

Ці джерела підкріплюють технічні концепції в цьому посібнику. Дотримуйтеся поточної документації перед зміною робочої системи.

  1. fio: Документація гнучкого тестера вводу-виводу fio.readthedocs.io
  2. NVM Express: Огляд специфікації та поширені запитання nvmexpress.org
  3. Ядро Linux: інформація про тиск і простої docs.kernel.org

Редакційне керівництво від SwissOctet. Приклади є ілюстративними. Специфікації послуг, доступні опції та договірні умови потрібно перевіряти окремо.

ПОЄДНАЙТЕ ЗНАННЯ

Пов'язана інфраструктура.

ЗБЕРІГАЙТЕ НИТКУ

Ваші наступні польові нотатки.

Дослідити всі посібники
ПОЛЬОВА НОТАТКА / 02
Зберігання та відновленняПрикладний

Знімки та резервні копії: виберіть збій, який потрібно пережити

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

4 хв читанняЧитати посібник
ПОЛЬОВА НОТАТКА / 03
Зберігання та відновленняОснова

Об'єктне, файлове або блокове зберігання: виберіть інтерфейс, потрібний вашому застосунку

Розрізняйте інтерфейси зберігання, семантику доступу та операційні обов'язки, перш ніж перетворювати вимогу до ємності на архітектуру застосунку.

4 хв читанняЧитати посібник