Logo CitForum CITForum на CD Форумы Газета Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

18.05.2012

Google
WWW CITForum.ru
2004 г.

Эффективность встроенных RAID

Сергей Антончук, "Комиздат"

Статья посвящена вопросу производительности дисковой подсистемы при использовании технологии Matrix Storage.

Напомним, что технология Matrix Storage реализована в новых южных мостах ICH6R и ключевой ее возможностью (если не говорить о реализации стандартных RAID-0 и RAID-1) является реализация такой схемы работы, при которой на двух дисках создается два массива уровней RAID-0 и RAID-1 (matrix RAID-0 и matrix RAID-1).

Тестирование серьезной технологии, конечно же, требует серьезного инструмента. Поэтому данное исследование проводилось в деловом приложении, использующем трехуровневую архитектуру. А точнее — в "1С:Предприятие 8.0".

"1С:Предприятие" работало в трехуровневой архитектуре "клиент — сервер приложения — SQL-сервер" на одном ПК. При этом основную нагрузку на дисковую подсистему ПК давал SQL-сервер.

Тестирование именно в этой архитектуре было выбрано потому, что производительность RAID-0 вообще и Matrix RAID-0 в частности серьезно зависит от параметра strip size.

Очевидно, что быстродействие системы в целом наибольшим будет тогда, когда данные от приложения или к нему будут поступать от дисковой подсистемы порциями, равными размеру strip size.

Но в компьютере всегда работает множество приложений с разной спецификой, поэтому размер strip size для RAID-0 в системах общего назначения — это всегда значение компромиссное. Однако если у нас есть приложение, которое должно работать быстро — пусть даже в ущерб всем остальным, то RAID-0 можно подстроить именно под него.

Вообще, такую настройку легче всего (и наиболее правильно) делать для SQL-серверов. Легче — потому что кратность данных, с которой SQL сервер взаимодействует с дисковой подсистемой, всегда известна. Это размер страницы (page size).

Для MS SQL сервера размер страницы составляет 8 Кб. Индексы записываются восьмистраничными блоками по 64 Кб.

Для Matrix RAID-0 значение strip size по умолчанию составляет 128 Кб. Так что, если планируется работа ПК, в основном, в качестве SQL-сервера (как в нашем случае), необходимость оптимизации налицо. Вот этим и займемся.

Чтобы все было по-настоящему, на двух SATA-дисках Maxtor MaXLine III 250 Гб были построены два раздела:

  • Matrix RAID-1 — для системы и бэкапов;
  • Matrix RAID-0 — для свопа, временных файлов и рабочей SQL-базы.

Matrix RAID-0 сначала создавался по умолчанию, затем размер strip size задавался в 64 Кб, 32 Кб, 16 Кб и 8 Кб.

Вот что получилось в результате замеров производительности серверного трехуровневого варианта работы "1С:Предприятие 8.0" для одного клиента:

Полученные результаты достаточно красноречивы. При неудачном для данного случая значении strip size, которое составляет 128 Кб и было создано по умолчанию, сервер работает даже медленнее, чем в случае размещения СУБД на Matrix RAID-1. Зато в случае с "правильным" значением strip size в 8 Кб имеем 31% роста производительности в "проведении по партиям" по сравнению с Matrix RAID-1.

Вообще, все варианты со значением strip size от 64 Кб до 8 Кб показали прирост скорости, а наиболее оптимальным оказался вариант 16 Кб. Хотя для систем общего назначения, в которых SQL-сервер является одним из главных приложений, более предпочтительным может оказаться вариант 32 Кб.

Дело в том, что уменьшение значения strip size замедляет работу дисковой подсистемы в том случае, когда обмен данными идет очень большими блоками. Например, если вы занимаетесь видеомонтажом, то при выборе strip size лучше руководствоваться правилом "чем больше, тем лучше".

Почему нужно возиться с SQL

Почему мы выбрали для тестирования SQL вариант работы "1С:Предприятия 8.0"? Ведь система может работать, например, и в файл-серверном варианте. Дело в том, что "1С:Предприятие" версии 8 с выделенным SQL-сервером работает гораздо быстрее, чем в файловом варианте. При уже упоминавшемся первом обзоре LGA775 (К+П № Х, стр. ХХ) время выполнения "проведения по партиям" и запроса в отчете "взаиморасчеты с комитентами" составили 1095 с и 119 с соответственно. Это в файловом варианте. Сравните с показателями 36 с и 32 с — наилучшими в SQL-системе. Ради тридцатикратного прироста производительности можно и повозиться.

P. S.

Хотя наш интерес в этом тестировании был искренним и чисто познавательным, подсказки о том, какой именно режим будет оптимальным, все же были. Хотя их поиском мы занялись позже. При создании раздела RAID-0 внизу экрана высвечивается такая информация:

Что называется, читайте инструкцию, она рулез. Кроме того, запрос в Google "strip size производительность" уже на первом экране среди прочего мусора выдает следующую ссылку:

в руководствах по Tuning Oracle говорят о striping factor.
По их руководствам stripe size =striping factor*Block size(Cylinder).
А типичный striping factor — 32 блока.
Следовательно, если принять Block size= 512|1024 bytes (зависит от модели и производителя): stripe size =32 *512|1024 =16|32 Kb.

Попадание 100%. Именно эти размеры и оказались оптимальными. Oracle и MSSQL — это, конечно, разные СУБД, но физика процесса одинакова везде.

Matrix storage против внешнего Serial ATA RAID-контроллера

Мы намеренно не делали сравнение внешнего и внутреннего RAID-контроллеров основной темой статьи. Дело в том, что эти контроллеры довольно сильно отличаются по функциональности — как ни странно это звучит на первый взгляд.

Технология Matrix Storage очень гибкая. Мало того что она позволяет создавать на двух HDD разделы RAID разных типов — она еще дает возможность достаточно просто использовать различные размеры strip size. Для внешних Serial ATA RAID-контроллеров, как правило, существуют определенные ограничения: например, не для всех strip size раздел может быть загрузочным.

Зато внешние Serial ATA RAID-контроллеры обычно имеют средства для миграции, позволяющие "зазеркалить" существующий HDD или, что сложнее, преобразовать его (естественно, добавив еще один HDD) в RAID-0.

Недостатком Matrix Storage также можно признать довольно большую (до 12%) загрузку ЦПУ.

В нашем случае в качестве "оппонента" ICH6R был выбран Adaptec 1210SA. Неплохой контроллер с очень хорошим софтом, работающим почти под всеми ОС и поставляемый в исходниках.

Но в случае с Adaptec 1210SA загрузочным для Windows может быть только раздел RAID-0 со strip size 64 Кб. И именно с этим показателем и проводились измерения с HDD Maxtor MaXLine III. Результаты ниже.

1С:Предприятие 8.0 SQL

1С:Предприятие файловая БД

Внешний Serial ATA RAID-контроллер совсем незначительно опережает Matrix Storage в файловом варианте — и довольно ощутимо (на 16%) в варианте SQL. Хотя с оптимальным значением strip size Matrix RAID-0 работает быстрее (см. основную статью).

Таким образом, внешний Serial ATA RAID-контроллер более предпочтителен для серверов или ПК, на которых есть выделенные RAID-массивы под конкретные задачи. Но если у вас только два HDD — однозначно лучше использовать Matrix Storage. И надежность получите, и практически ту же производительность.

Что такое stripe

stripe — непрерывная последовательность дисковых блоков. stripe может быть размером с один дисковый блок, но может состоять и из тысяч.

Устройства RAID разделяют содержащие их разделы дисков на страйпы; различные уровни RAID различаются в способе организации страйпов и в том, как размещаются на них данные. Взаимодействие между размером stripe, типичными размерами файлов в системе и их положением на диске — все это определяет общую производительность подсистемы RAID.

В RAID-0 компоненты разделов делятся на страйпы и затем чередуются. В результате получаем один большой виртуальный раздел. Такой подход не предполагает избыточности и снижает общую надежность: отказ одного диска уничтожит весь раздел.

Влияние замены HDD на производительность

Помимо "образцового" Maxtor MaXLine III 250 Гб, который обычно используется в наших тестированиях, у нас была возможность опробовать пару винчестеров ST3160827AS (160 Гб, 7200 оборотов в минуту, среднее время доступа 8,5 мс; интерфейс Serial ATA, буфер 8 Мб).

Мы обратили внимание на эти HDD, так как они тоже поддерживают NCQ (native command queuing). У "образцового" Maxtor MaXLine III 250 Гб другой объем несколько большее время доступа (9,3 мс — это хуже) и больший кэш (16 Мб, это лучше). Подбором strip size здесь мы уже не занимались, хотя и сделали два измерения для 64 и 32 Кб. Результаты ниже.

HDD от Seagate чуть опережает Maxtor. Можно сделать вывод, что время доступа при работе с деловыми приложениями имеет большее значение, чем больший кэш.

Подписка на новости CITForum.ru

Новые публикации:

7 июля

  • Управление параллелизмом с низкими накладными расходами для разделенных баз данных в основной памяти

  • Рекурсивные запросы в Oracle

  • Жесткий диск WD10EARS с сектором 4 КБ. Подготовка к эксплуатации в Linux.

    Обзоры журнала Computer:

    Газета:

  • Московские пробки - исследование IBM

  • От Osborne до iPad: эволюция портативных компьютеров

    19 мая

  • Прозрачный механизм удаленного обслуживания системных вызовов

  • Система моделирования Grid: реализация и возможности применения

    Газета:

    Майкл Стоунбрейкер:

  • Ошибки в системах баз данных, согласованность "в конечном счете" и теорема CAP

  • Дискуссия по поводу "NoSQL" не имеет никакого отношения к SQL

    29 апреля

  • Материалы конференции "Корпоративные Базы Данных-2010"

  • Разные облики технологии баз данных (отчет о конференции)

    14 апреля

  • MapReduce: внутри, снаружи или сбоку от параллельных СУБД?

  • Научные вызовы технологиям СУБД

    Обзоры журнала Computer:

    31 марта

  • Рационализация согласованности в "облаках": не платите за то, что вам не требуется

  • Взаимные блокировки в Oracle

  • Архитектура среды тестирования на основе моделей, построенная на базе компонентных технологий

  • Объектное представление XML-документов

    Газета:

  • Microsoft для российских разработчиков: практика с элементами фундаментальности

    10 марта

  • HadoopDB: архитектурный гибрид технологий MapReduce и СУБД для аналитических рабочих нагрузок

  • Классификация OLAP-систем вида xOLAP

  • BGP. Три внешних канала. Балансировка исходящего и входящего трафиков

    Газета:

  • Что мы знаем об iPhone 4G?

    17 февраля

  • MapReduce и параллельные СУБД: друзья или враги?

  • Объектно-ориентированное программирование в ограничениях: новый подход на основе декларативных языков моделирования данных

  • Системологический подход к декомпозиции в объектно-ориентированном анализе и проектировании программного обеспечения

    Газета:

  • Эволюция Wine

    3 февраля

  • Дом на песке

  • Реальное переосмысление "формальных методов"

  • Интервью с Найджелом Пендзом

    Газета:

  • iPad. Первый взгляд на долгожданный планшет от Apple

  • Я не верю в iPad

    20 января

  • SQL/MapReduce: практический подход к поддержке самоописываемых, полиморфных и параллелизуемых функций, определяемых пользователями

  • Данные на лету: как технология потокового SQL помогает преодолеть кризис

    Обзоры журнала Computer:

    2 декабря

  • Сергей Кузнецов. Год эпохи перемен в технологии баз данных

    18 ноября

  • Генерация тестовых программ для подсистемы управления памятью микропроцессора

  • Сравнительный анализ современных технологий разработки тестов для моделей аппаратного обеспечения

    Все публикации >>>


  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 6608306, ICQ 232284597 Пресс-релизы — pr@citforum.ru
    Послать комментарий
    Информация для авторов

    Редакция раздаёт котят!

    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2009 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...