PowerEdge. Оптимизация производительности небольших операций ввода-вывода для накопителей NVMe за контроллерами PERC в Linux

Summary: В Linux накопители NVMe, подключенные под контроллером PowerEdge RAID Controller (PERC), могут показывать более низкую производительность, чем ожидалось, при тестировании небольших рабочих нагрузок ввода-вывода. Это происходит потому, что ОС определяет эти накопители как стандартные блочные устройства SCSI (/dev/sdX), а не как собственные устройства NVMe (/dev/nvmeXnX). Эта идентификация приводит к применению неоптимальных планировщиков ввода-вывода по умолчанию. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Корневая причина

  • Собственный NVMe: Для дисков NVMe, подключенных напрямую, используются глубокие, аппаратно управляемые очереди команд. Linux по умолчанию устанавливает в планировщике значение «нет», чтобы обойти узкие места на уровне ОС.
NVMe mq-deadline
  • NVMe за PERC: Когда накопитель управляется контроллером PERC, он отображается как устройство SCSI. В большинстве дистрибутивов Linux по умолчанию планировщик для устройств SCSI mq-deadline.
  • Конфликт: Переменная mq-deadline Планировщик был разработан для устаревших механических приводов, чтобы оптимизировать время поиска и свести к минимуму движение головки. Для высокоскоростных накопителей NVMe этот планировщик добавляет ненужные задержки и нагрузку на процессор, ограничивая общее количество операций ввода-вывода в секунду.

Проверка и немедленная корректировка

Для достижения максимального показателя IOPS для небольших рабочих нагрузок ввода-вывода планировщик должен быть настроен в значение None .

  • Проверьте текущий планировщик.
  1. Выполните следующую команду от имени суперпользователя (замените <sdX> именем устройства, например <sda>):
cat /sys/block/{sdX}/queue/scheduler
Пример выходных данных: (В скобках указан активный планировщик.)
Планировщик NVMe
  1. Измените планировщик на none (среда выполнения) с помощью следующей команды, чтобы немедленно применить изменения:
echo "none" > /sys/block/{sdX}/queue/scheduler

Обеспечение устойчивости

Указанное выше ручное изменение не является постоянным и возвращается после перезагрузки. Также /dev/sdX Идентификаторы могут изменяться при добавлении или удалении накопителей. Чтобы сделать это изменение постоянным, рекомендуется создать правило UDEV на основе WWID устройства.
 

Примечание. Это также может повлиять на высокую производительность операций ввода-вывода. Для накопителей NVMe, установленных за контроллером PERC, рекомендуется задать для планировщика очередей Linux значение none.

Affected Products

PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xd
Article Properties
Article Number: 000443257
Article Type: How To
Last Modified: 10 أبريل 2026
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.