Как стать автором
Обновить

Комментарии 9

Какие-нибудь полезные цифры при работе разных алгоритмов упреждающего чтения, на реальных данных и нагрузках, вы можете предоставить?
Алгоритм упреждающего чтения для последовательных потоков по умолчанию включен в наше решение. Его можно выключить, но в «реальных» условиях этого никто не делает. Поэтому сравнительных цифр с «полей» мы не получаем. Ниже проведен тест с использованием бенчмарки FIO c включенным и выключенным read ahead.

Параметры системы: в дисковой корзине 24 HDD, RAID6, LUN развернут на всем рэйде. Кэш рэйда — 16 гигабайт. Инициатор подключен по Infiniband напрямую к таргету. Конфиг для 1 потока: [global], direct=1, ioengine=libaio, iodepth=32, runtime=180, blocksize=1M, rw=read, filename=/dev/sdc.

Показатели чтения с выключенным read ahead: 1369 MB/sec
Показатели чтения с включенным read ahead: 2940 MB/sec

При этом максимум пропускной способности в этой конфигурации будет чуть ниже 3240 MB/sec (т.к. есть нечитаемые данные с контрольных сумм).
Какие-нибудь полезные цифры при работе разных алгоритмов

Также разными типами RAID, если был подобный анализ.
Скорее всего в завершении «а простая математика.» имеется ввиду именно это? Или какая ещё математика?

ПС.Мне кажется Вы несколько недочитали Н.Носова. Незнайка, не так однозначен, как просто любитель рандомных поступков. Например, именно он принял решение по спасению в кризисе на воздушном шаре. Хотя отчасти сам к нему имел отношение.
Не случайно, дальнейшая трилогия полностью посвящена именно этому персонажу, с девизом, зачем что-то делать, если назавтра делать ровно обратное. А ведь в «Незнайка на Луне» описано почти пост-капиталистическое о-во, т.е. наша реальность. Как тогда относиться к персонажу в широкой синей шляпе и желтых штанах?
Посмотрите ответ на предыдущий комментарий, полагаю, что там может быть ответ на интересующий вас вопрос.

«Простая математика» охватывает именно представленные в статье расчеты.

Мы не утверждаем, что Незнайка однозначен и «рандомен». Мы взяли некоторые характерные его черты и использовали их в качестве иллюстрации (то же самое со Знайкой). Что же касается рассуждений о пост-капиталистических реалиях, то это, пожалуй, выходит за пределы наших профессиональных компетенций :)
Да, спасибо. Понятно. Тесты проводились лишь при RAID6. Почему не RAID10, вроде показатели могли бы лучшими.
Скажем так, один LUN на весь массив — не типичный случай. Также не понятно, какая зависимость от снижения количества дисков.
Какая зависимость при использовании упр.чтения в количестве неустранимых ошибок чтения. Т.е. эта зависимость и возможное снижение обусловлена лишь дисками, кэшом или увеличением потоков
Ещё вопрос. Где больше ошибок на SSD или SAS. Почему-то об URE вообще ничего.
При операциях последовательного чтения суммарные производительности RAID 10 и RAID 6 незначительно отличаются. Более того, наш RAID 6 часто работает быстрее. Это получается в связи с тем, что у нас есть такая функция, как Advanced Reconstruction.

Работает это так: на все чанки в стайпе (Пусть, он будет размером 10+2) отправляются запросы на чтение. Дождавшись первые 10 чанков мы восстанавливаем оставшиеся по контрольным суммам. Делается это со скоростью доступа к RAM, алгоритм восстанавливает со скоростью 35 ГБ/с на ядро. В десятке же мы будем ждать самого медленного.

Периодическое возникновение ошибок чтения при тех-же параметрах никак не влияет на производительность по тем же причинам. Мы не ждем, пока диск попытается перечитать область или вернет ошибку. Мы просто восстанавливаем чанк по контрольным суммам и забываем про него.

Все хуже, если чтение не полнострайповое. В этом случае при возникновении ошибки нужно дочитать страйп и восстановить данные чанка. А это-дополнительные IO и задержки. Но на нормальных дисках вероятность ситуации ничтожно мала и никак не повлияет на средний результат и все же, адаптивный Read Ahead сделан в первую очередь для полнострайповых чтений.
Но на нормальных дисках

Нормальные — это HP или Seagate?
По практике наших СХД летят почти одинаково. Разница лишь в полном дизэйбле.
На Seagate сразу в красный, а HP ещё с месяц по-желтеет.
Вообще странно, что «производительности RAID 10 и RAID 6 незначительно отличаются»
Из статьи не понял. Допустим один LUN 30Tb. Сколько в % SSD и SAS.
Вообще странно, что «производительности RAID 10 и RAID 6 незначительно отличаются»

Чего же тут странного, когда речь идет о чтении? У RAID 5/6 нет никакого специфического оверхеда в этом случае.

Чего же тут странного, когда речь идет о чтении?

Если упомянут IOPS, то по факту это операция ввода\вывода.
Оценивать работу СХД одним чтением, сложно найти параллели.
Тем более, RAID 6 — как мне известно не самая быстродействующая технология.
Но этот вопрос уходит чуть в сторону. По нашей практике, главное в СХД — минимум ошибок, быстрое восстановление\замена дизэйблов, полное восстановление или перенос. Лишь после этого можно рассмотреть быстродействие.
Не понятно, как начальное условие будет обеспечено при SSD-кэш + SAS-массив. Хотя наверное, технология упреждающего чтения — это рабочий вариант, а восстановление с отключением read ahead.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий