MD RAID - отключить NCQ

Почему в MD RAID (mdadm) рекомендуется отключать NCQ для каждого диска? echo 1 > /sys/block/sdX/device/queue_depth

Я читал этот совет во многих статьях, касающихся настройки RAID, но никто не объясняет почему.

2 ответа

Спасибо за Ваш ответ.

Википедия утверждает "NCQ can negatively interfere with the operating system's I/O scheduler, actually decreasing performance"и это относится к этой статье http://www.cs.albany.edu/~sdc/CSI500/Fal10/DiskArmSchedulingPapers/a2-yu.pdf

Эта статья гласит "Under a random workload, the I/O scheduler should be disabled, that is, noop, and NCQ in charge of scheduling requests entirely; when under a sequential workload, an I/O scheduler should take full charge of scheduling them instead of NCQ. It implies that the type of information that can help scheduling decision can vary according to the workload type."

Таким образом, кажется, что это проблема при последовательной рабочей нагрузке, но не при случайной рабочей нагрузке.

В заключении говорится, чтоIn the long run, we suggest that a new SATA 2 specification should contain a well-defined interface to fully control NCQ mechanism."

Но эта статья довольно старая (март 2010 г.), и я не знаю, была ли она решена.

Из статьи Википедии о NCQ:

NCQ может отрицательно влиять на планировщик ввода / вывода операционной системы, фактически снижая производительность;[6] это наблюдалось на практике в Linux с RAID-5.[7] В NCQ нет механизма, позволяющего хосту указывать какие-либо крайние сроки ввода / вывода, например, сколько раз запрос можно игнорировать в пользу других.

Другие вопросы по тегам