@MarvinD

Почему может тупить на запись RAID1 из двух SSD дисков?

Linux, mdadm, raid1 2x1Tb Samsung Pro SSD. Сильно тормозит скорость записи на raid1 массив. При записи большого объема информации (более 2-3 Гб) скорость записи падает до 17-20 МБ/с и остается такой на протяжении всего процесса копирования.

TRIM включен. smartctl -a не выдает проблем. Памяти куча, проц сильный. Тупит запись.

Например:
dd if=/dev/zero bs=110K count=60000 | pv | dd of=./zero.dd
может выдать примерно 17-20 MB/s.

dd if=/dev/zero bs=110K count=500 | pv | dd of=./zero.dd
выдаст нормально, 230-250 MB/s, причем если быстро запустить команду раза три-четыре, то скорость по чуть-чуть норовит упасть.

dd if=/dev/zero bs=2100K count=5000 | pv | dd of=./zero.dd
выдает через 30 секунд снижение скорости с 250 до 30, а потом опять 17-20 MB/s.

Точно такую же скорость записи наблюдаю и при копировании в mc.

Проблема случайно проявила себя, просто не надо было никогда писать ничего более 1-2-3 Гб сразу. А тут стал лить архивы гигов под 180 и сразу вылезло.
  • Вопрос задан
  • 1495 просмотров
Решения вопроса 1
Jump
@Jump Куратор тега Твердотельные накопители
Системный администратор со стажем.
Это нормально.
Уперлись в деградацию скорости записи.
Поскольку TRIM в ваших условиях работать не будет да и если бы работал толку от него ноль, то нужно обходиться без него.

Over provisioning спасет ситуацию

Во первых TRIM это команда, если трим включен, это значит что команда отправляется, но не значит что доходит.
Во вторых TRIM в большинстве случаев не проходит через различные виртуальные прослойки вроде рэйдов, lvm, и прочего
И самое главное в вашей ситуации даже работающий TRIM будет бесполезен.

Нужен over provisioning приличного размера - не менее чем размер одной непрерывной записи.
Т.е если часто записываете на диск большой объем информации например 50гб, то нужно чтобы размер over provisioning был более 50гб.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Sanes
@Sanes
Попробуйте другой вариант записи. /dev/urandom
Что-то подобное было, свалили на ОС.
Ответ написан
shambler81
@shambler81 Куратор тега Linux
knutov
@knutov
Всё проще. Чтобы записать хотя бы байт - нужно перезаписать целиком блок, обычно это 128к. Это значит, что уже чистый блок должен быть. Или его надо очищать прямо сейчас. Очистка блока - медленно. Есть трим или нет - при больших записях чистых блоков может не хватить. И всё, приехали.

Облегчают проблему серверные диски и оверпровизионинг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы