amarao (amarao_san) wrote,
amarao
amarao_san

Изучение рейдов

Во-первых, конечно, это было шоком, когда с 850Мб/с линейной скорости рейд "пал" до 4Мб/с при 4кб рандомном доступе. Я сначала даже отказывался признавать результаты. Потом задумался - а почему, собственно, нет? Если рейд дёргают по сотне гигабайт с требованием читать 4кб каждый раз из нового места, то почему нужно ожидать, что там будет какая-то архискорость? Ведь речь идёт про настоящий рандом, в котором даже NCQ/TCQ никак особо не спасает, ни кеши, ни что. Голый винт с голой головкой. И всё, в чём может себя проявить рейд - это правильно распределить загрузку по винтам, так, чтобы каждый из винтов был чуть меньше занят, благодаря TCQ, в котором можно одновременно загрузить несколько винтов запросами из разных мест очереди.

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

В-третьих, нужно серьёзно задуматься над размером слайса. Чем меньше слайс, тем больше винтов будет участвовать в чтении небольшого участка. Что для виртуальных машин очень актуально, ведь каждая из них будет занимать небольшой объём (как минимум, в системной части, да и базы данных, тоже, возможно). Но это надо вполне серьёзно проверять.

Чем же грозит (в смысле пенальти) мелкий слайс мне не понятно (пока). Возможно, ничем, но для крупных рейдов не дадут сделать мелкий слайс...

Ещё нужно внимательно проверить, а так ли круто многократное наслоение рейдов, как это казалось в линейных тестах...


PS Заодно стало понятно, что нужен ещё один тест - тест на ограниченное число параллельных (конкурирующих) линейных потоков чтения/записи.
Tags: hardware, hdd, linux, raid, администрирование
Subscribe

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments