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