Влияние жестких дисков на производительность массива

31 0 0 0

Введение в принципы работы жёстких дисков.

Итак, какие параметры больше всего влияют на производительность? Во-первых, мы должны изучить параметры жёстких дисков, чтобы по возможности максимально нивелировать задержки, а для этого нам необходимо учитывать типы запросов к диску. Во-вторых, нужно правильно выбрать размер блока на RAID массиве, выбор которого зависит от типа запросов к диску. И, наконец, поговорим о выравнивании – очень важном моменте, суть которого многие до сих пор не понимают.

Задержки.

Какие именно типы задержек необходимо учитывать, когда мы говорим о физических дисках использующих магнитные диски? Это:

* Время позиционирования магнитной головки на дорожке
* Задержка чтения данных из-за вращения диска
* Время пересылки данных

Время позиционирования магнитной головки на дорожке - это то время, которое необходимо для перемещения магнитной головки жесткого диска с текущего положения (дорожки) на требуемое и ее фиксации в этом положении. Поскольку в общем случае перемещение с равной вероятностью может не происходить совсем, или головка может двигаться через весь диск, то указывают время для позиционирования головки при перемещении через половину пластины.

Хорошо, нужную дорожку нашли, но поскольку пластина вращается, то к моменту готовности под головкой может оказаться совершенно любой блок данных. И здесь мы начинаем говорить о задержке чтения данных из-за вращения диска - времени, через которое под головкой окажется требуемый блок данных. Это время в среднем равно половине оборота пластины и напрямую зависит от скорости вращения пластин. Да-да, тех самых 7200, 10000 или 15000 rpm.

Кстати, вы заметили, что емкости дисков за 10-12 лет выросли более чем в тысячу раз, а вот скорость вреащения осталась прежней? Все те же жалкие 15 тысяч оборотов в минуту. Все дело в том, что здесь жесткие магнитные диски исчерпали свой физический ресурс, и скорости движения уже достигают скорости звука.

Таким образом, мы получаем следующее:

Общее время позиционирования = время позиционирования головки + задержка из-за вращения диска.

Третий параметр – время передачи данных. Это время, которое необходимо для фактического чтения данных с диска после того как головка зафиксирована над дорожкой. На этот параметр влияют три фактора: длина блока данных, которые необходимо прочитать (то есть количество секторов, которые диск должен прочитать) и скорость вращения шпинделей. И еще один нюанс: на современных жёстких дисках данные равномерно размазаны по всей пластине. Это значит, что  один полный оборот центральной части диска даст меньше итоговых данных, чем полный оборот с края пластины. Именно поэтому говорят, что данные с «конца» диска всегда быстрее данных с «начала» диска.

Просуммируйте все эти факторы, и вы получите чёткое видение всех причин, которые вызывают задержки при получении необходимых вам данных.

Размер пакетов ввода-вывода.

Давайте рассмотрим баланс между размером пакетов ввода-вывода и пропускной способностью. К сожалению, большая часть людей не смотрят на оба параметра сразу – некоторые меряют только IOPS (количество операций ввода-вывода за секунду), а некоторые (на самом деле большинство) только пропускную способность (мегабайты за секунду). Но, оба эти параметра связаны между собой фактором, который известен как размер пакета ввода-вывода. Возьмём, к примеру, стандартный SATA диск со скоростью 7200 оборотов в минуту. Его производительность достигает в пике 120MB/s и 70 IOPS (операций ввода-вывода в секунду). Но если взять ситуацию, когда надо обработать много-много маленьких файлов, то с точки зрения физического диска это будет выглядеть как пакеты в 4kB, и соотв. 70 IOPS х 4kB = 0.28MB/s. Что разумеется может очень удивить, если не понимать как все работает.

Баланс между размерами пакетов и пропускной способностью посчитать очень легко. Большие пакеты ввода-вывода специфичны для последовательного чтения или записи: необходимо обработать большое количество секторов, все они находятся в пределах одной или соседних дорожек. В данном случае наибольшее влияние на производительность оказывает время передачи данных. Время позиционирования головки тут имеет гораздо меньшее влияние, так как после того, как головка зафиксирована всё, что диску надо делать – передавать данные, возможно, иногда переходя к следующей дорожке. Последний фактор в данном случае – время перехода от дорожки к дорожке. Это значение гораздо меньше среднего времени позиционирования головки.

С другой стороны, если к диску идёт много обращений маленькими блоками, то время передачи данных тут оказывает меньше влияния, а вот время позиционирования головки и задержка из-за вращения диска оказывают гораздо большее влияние. При размере блока в 4КБ диск должен прочитать всего несколько секторов, вследствие чего время передачи данных очень короткое, но для каждых 4КБ данных мы должны учитывать время позиционирования головки, а также задержку из-за вращения диска после каждого позиционирования головки. То есть в данном случае, головка диска часто перемещается и передаёт мало данных.

Как итог хотел бы показать картину с одной из СХД, где производительность упирается в диски:

forum


У статьи есть другие ресурсы

Требуется войти для загрузки или просмотра. Нет аккаунта?Register

x
  • x

Ответ

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.
Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход