У меня есть домашний сервер mdadm RAID-6 с жесткими дисками WD Green 5x1Tb. Скорость чтения более чем достаточно - 268 Мб / с в дд. Но скорость записи всего 37,1 Мб / с. (Оба протестированы с помощью dd для файла 48 ГБ, объем оперативной памяти составляет 1 ГБ, размер блока, использованного в тестировании, составляет 8 КБ)
Не могли бы вы подсказать, почему скорость записи такая низкая и есть ли способы ее улучшить? Загрузка ЦП во время записи составляет всего 25% (т.е. половина от 1 ядра Opteron 165). Никаких важных для бизнеса данных нет, а сервер поддерживается ИБП.
mdstat это:
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sda1[0] sdd1[4] sde1[3] sdf1[2] sdb1[1]
2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
Какие-либо предложения?
Такие вещи, как обратная связь, барьер, ничто не помогло. Размер блока DD = 1M, 8M ничего не изменило. Похоже, что mdadm физически читает сектора для вычисления четности, даже если это не имеет значения ... Это правильно?
Обновление: Ухудшение скорости после изменения кэша чередующихся полос было на самом деле из-за того, что 1 жесткий диск, вероятно, вышел из строя во время тестирования
Решено: после увеличения полосового кэша и переключения на внешнее растровое изображение мои скорости записи 160 Мбит / с, чтения 260 Мбит / с. :-D
Ответы:
Вы пробовали настроить / sys / block / mdX / md / stripe_cache_size?
Согласно этому сообщению на форуме (на норвежском языке, извините) «настройка этого параметра тем важнее, чем больше дисков и тем быстрее ваша система»:
Приведем его скорость для сравнения:
Мой домашний сервер имеет почти те же диски, что и вы, используя RAID 5:
Таким образом, похоже, что производительность последовательной записи составляет около 50% производительности чтения.
В отношении ожидаемой производительности Linux Raid Wiki говорит о RAID 5:
А насчет RAID 6:
источник
пытаться
echo 32768 > /sys/block/md0/md/stripe_cache_size
и проверить;)
источник