Доброго времени суток, дорогие друзья, знакомые, читатели, почитатели и прочие личности.
Надеюсь, что Вы знаете, что такое рейд и с чем его едят. Если нет, то на "Заметках Сис.Админа" я писал уже заметку на эту тему.
Сегодня, в рамках "Гнезда из Витой Пары" я хочу кратенько поделится с Вами простейшими выкладками по поводу выбора параметра чтения (Read Ahead и Read Cache) с RAID-контроллера для RAID 0, а так же, попутно, поделюсь скриншотами того, как это практически влияет на скорость считывания данных.
В частности, Вы сможете на скриншотах увидеть скорость чтения массива из двух маленьких SSD при различных значениях Stripe Size.
Ну и, само собой, в конце немного выводов и рекомендаций.
Приступим.
Собственно, думаю, что не надо объяснять, что политика записи и чтения задаётся в настройках контроллера. Как правило, если контроллер у Вас встроен в мат.плату, то попасть в настройки (при включенном рейде в BIOS) можно нажав Ctrl+I или Ctrl+F на определенной стадии загрузки компьютера. Более детальную информацию читайте в инструкции к Вашей мат.плате или контроллеру, если он внешний.
В рамках данного материала, нас будут интересовать два параметра контроллера: Stripe Block и Read Policy (напомню, что мы создаем здесь RAID 0). Первый задает размер страйп-блока, а авторой определяет политику чтения (Read Ahead или Read Cache для данной статьи).
Тесты с остальными (вроде Sector Size и Write Policy) Вы можете провести сами или дождаться соответствующей статьи.
Я проводил тесты с различными размерами блоков при разных политиках, но выложу тут лишь 4, ибо они наиболее показательны, а остальные являются промежуточными и предсказать их не очень сложно. Контроллер, - обычный встроенный в ASUS-плату многостродальный чип, а диски - два SSD эконом класса размером 60 Gb и 40 Gb и оба уже порядком изношенны. Собственно, вот результаты по тестам HD Tune:
- Read Cache и 64 KB Stripe Block:
- Read Cache и 256 KB Stripe Block:
Как видно из скриншотов, - размер страйп-блока, в рамках теста для SSD дисков ощутимо сказывается на скоростях работы дисковой подсистемы. Да и вообще политика чтения кеша прямо скажем, не впечатляет скоростями. В частности, обратите внимание на время доступа.
А вот такая картина в HD Tune для Read Ahead:
- Read Ahead и 64 KB Stripe Block:
- Read Ahead и 256 KB Stripe Block:
Как видите, аналогично прослеживается "просадка" чтения при увеличенном (напомню, что речь идет про SSD и слабый контроллер) размере Stripe Block'а, но зато скорость чтения при политике Ahead на порядок выше чем при чтении с кеша.
В двух словах как-то так.
Послесловие
Собственно, могу добавить, что политика чтения из кеша для домашних решений не очень эффективна, да и вообще оная обычно применяется на серверах с решительно более развитой дисковой подсистемой и более узконаправленных целей. В частности, такие же результаты Вы можете увидеть не только для SSD, но и для дисков как таковых вообще. Посему, если собираете дома 0-вой рейд, то есть смыл отталкиваться от политики Ahead.
В двух словах как-то так. А, ну и да, напоминаю, что дисковая подсистема это «Бутылочное горлышко» в производительности Вашего компьютера.