05-50111-01 Отчет о производительности HBA: задержки и IOPS

В данном отчете обобщены результаты сквозного тестирования производительности современного трехрежимного хост-адаптера, основное внимание уделено измеренным показателям задержки и IOPS для носителей NVMe, SAS и SATA. Недавние запуски смешанных массивов показали IOPS при случайном чтении от десятков до нескольких сотен тысяч в зависимости от типа носителя и глубины очереди, в то время как задержки p99 варьировались от долей миллисекунды до нескольких миллисекунд; цель состоит в том, чтобы превратить эти измерения в практические рекомендации для центров обработки данных.

Отчет о производительности HBA 05-50111-01: задержка и IOPS

Технические характеристики модуля и поддерживаемые интерфейсы

Тестируемый адаптер имеет 24 внутренних порта для устройств и работает через интерфейс PCIe Gen4 с конфигурацией x16 электрических линий, поддерживая конечные точки NVMe, SAS и SATA в трехрежимном исполнении. Заявленная пропускная способность хоста соответствует совокупным линиям PCIe Gen4 x16; в тестовом наборе прошивки и драйверов мы использовали контролируемую тестовую сборку с маркировкой fw-test-9600 и драйвер scsi-test-1.2.

Конфигурация и методология тестовой лаборатории

Платформа хоста: двухпроцессорный 32-ядерный сервер, 512 ГБ DRAM, ядро Linux 5.15. Стек блочного ввода-вывода: blk-mq с mq-deadline по умолчанию. Генератор ввода-вывода: fio для микротестов и смешанных профилей; протестированная глубина очереди QD1–256, размеры блоков ввода-вывода 4K/8K/64K/128K.

Обзор тестовой среды

Компонент Конфигурация Примечания
Процессор 2 × 32 ядра Изолированные ядра ЦП для рабочих потоков fio
Память 512 ГБ Кэширование больших страниц минимизировано
ОС Linux 5.15 Включен blk-mq
Драйвер/Прошивка fw-test-9600 / scsi-test-1.2 Маркировки тестовых сборок
Генератор ввода-вывода fio (примеры ниже) QD1–256, 60 сек в установившемся режиме

Анализ показателей задержки

Последовательные и случайные профили

Задержка последовательного чтения/записи оставалась низкой для всех типов носителей: при чтении большими блоками (64K/128K) средняя задержка составила менее 1 мс при поведении, ограниченном пропускной способностью. Профили случайного чтения 4K/8K показали различия: NVMe-накопители обеспечили среднюю задержку чтения 4K ~0,12 мс, в то время как SATA-накопители демонстрировали от 2 до 5 мс с резкими скачками под нагрузкой.

Хвостовая задержка: анализ p95 / p99 / p99.9

Хвостовые процентили выявляют выбросы, которые скрывают средние показатели. Рекомендуемые пороги p99 для целей SLA: сервисы OLTP стремятся к < 2 мс, в то время как микросервисы, чувствительные к задержкам, ориентируются на < 1 мс.

Сравнение хвостовой задержки (QD32)

NVMe 4K Random0,56 мс (p99)
SAS 4K Random1,25 мс (p99)
SATA 4K Random6,50 мс (p99)
Профиль p95 p99 p99.9
NVMe 4K0,28 мс0,56 мс1,8 мс
SAS 4K0,72 мс1,25 мс4,2 мс
SATA 4K3,1 мс6,5 мс15,0 мс

Производительность IOPS и анализ рабочих нагрузок

Компромиссы между малыми и большими блоками

Случайное чтение NVMe 4K достигло пика около 350k–420k IOPS при QD128. Диски SAS достигли пика около 120k–180k IOPS, а SATA — около 25k–50k IOPS. Рабочие нагрузки с большими блоками (64K+) смещают узкое место в сторону совокупной пропускной способности PCIe хоста.

Пример воспроизводимого задания fio (4K Random, QD32):
[global]
ioengine=libaio
direct=1
runtime=60
time_based
group_reporting

[random-4k]
bs=4k
iodepth=32
numjobs=8
rw=randread
filename=/dev/sdX

Масштабируемость и параллелизм

IOPS масштабировался линейно с глубиной очереди до точки «перегиба» на уровне QD64–QD128 для NVMe. Смешанная нагрузка 70/30 (чтение/запись) обычно снижала максимальный IOPS на 10–25% по сравнению с чистым чтением. Оптимизация производительности требует балансировки количества потоков с глубиной очереди на устройство во избежание насыщения.

⚙️

Настройка и лучшие практики

Прошивка и драйвер

  • Отдавайте приоритет последним стабильным сборкам.
  • Отключите чрезмерное объединение прерываний.
  • Включите MSI-X, где это возможно.

Конфигурация хоста

  • Установите планировщик на noop для NVMe.
  • Увеличьте nr_requests до 2048.
  • Согласуйте iodepth в fio с очередностью приложения.

Чек-лист развертывания и мониторинга

Стратегия определения размеров

Планируйте два пути NVMe, если ваша рабочая нагрузка требует 200k+ устойчивых IOPS с буфером p99 20–40% для пиковых нагрузок.

Пороги оповещения

  • Задержка p99 > SLA в течение 3 минут
  • Использование устройства > 85% устойчиво
  • Глубина очереди поднимается выше точек перегиба

Краткое резюме

  • Адаптер обеспечивает максимальный IOPS на носителях NVMe со средней задержкой менее миллисекунды.
  • Хвостовая задержка (p99) является основным ограничителем; минимизируйте объединение прерываний для контроля поведения хвоста.
  • Проверьте состояние соединения PCIe Gen4 и учитывайте запас для фоновой активности при расчете ресурсов.

Часто задаваемые вопросы

Как HBA 05-50111-01 влияет на IOPS для NVMe по сравнению с SAS?
Адаптер обеспечивает подключение к хосту и пропускную способность PCIe; конечные точки NVMe используют внутренний параллелизм устройства для обеспечения более высокого уровня IOPS на том же адаптере. Сам адаптер становится ограничивающим фактором только тогда, когда общая пропускная способность приближается к пропускной способности линий PCIe или когда настройки прошивки ограничивают обработку очередей.
Какая настройка снижает задержку p99 на HBA 05-50111-01?
Чтобы уменьшить хвостовую задержку p99, примените обновления прошивки/драйверов, включите MSI-X, отключите чрезмерное объединение прерываний, выберите планировщик с низкой задержкой (noop или mq-deadline) и ограничьте глубину очереди на поток.
Какие метрики мониторинга лучше всего предсказывают неизбежное ухудшение задержки?
Ключевыми предикторами являются устойчивый рост глубины очереди устройства сверх наблюдаемых точек перегиба, увеличение процента использования устройства, рост счетчиков повторов или ошибок, а также внезапное насыщение ЦП на ядрах хоста, обслуживающих ввод-вывод.

Заключение

Данный отчет о производительности подтверждает, что HBA-адаптер 05-50111-01 обеспечивает высокий уровень IOPS и предсказуемую задержку при использовании с носителями NVMe и правильно настроенными параметрами хоста. Практические следующие шаги: примените протестированные сборки прошивки/драйверов, следуйте чек-листу настройки и разверните мониторинг с оповещениями, ориентированными на p99, для обеспечения стабильной работы в рабочей среде.

Top