Какова средняя задержка жестких дисков

Обновлено: 04.07.2024

Сегодня нашим соавтором является Кристиан Паредес, старший системный администратор Blue Box Group, веб-хостинга, ориентированного на Ruby on Rails, который специализируется на предоставлении экспертных знаний, необходимых для поддержания работы мощных приложений с максимальной производительностью. Кристиан поддерживает внутреннюю инфраструктуру Blue Box Group в отличном состоянии и обеспечивает поддержку клиентов третьего уровня. Он также работает волонтером в LOPSA, гильдии системных администраторов. Мы рады, что он поделился своим опытом в области дискового ввода-вывода.

Обновленная версия статьи, впервые опубликованной 10 февраля 2011 г.

Если вы достаточно взрослые, чтобы помнить дисководы гибких дисков, вы слышали о симптомах узкого места дискового ввода-вывода. Например, пока Oregon Trail загружал следующую сцену, вы слышали, как дисковод скрежещет, читая данные с диска. ЦП в это время бездействовал, сложа руки в ожидании данных. Если бы этот дисковод был быстрее, вы бы уже пересекли пороги реки Колумбия.

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

  • Есть ли у вас узкое место ввода-вывода?
  • Что влияет на производительность ввода-вывода?
  • Как лучше всего устранить узкое место ввода-вывода?
  • Как вы отслеживаете дисковый ввод-вывод?

Банановый слизень против F-18 Hornet

Дисковой ввод-вывод включает операции ввода-вывода на физическом диске. Если вы читаете данные из файла на диске, процессор должен ждать, пока файл будет прочитан (то же самое касается записи).

Убийца при работе с диском? Время доступа. Это время, необходимое компьютеру для обработки запроса данных от процессора и последующего извлечения необходимых данных из запоминающего устройства. Так как жесткие диски механические, вам нужно дождаться, пока диск повернется до нужного сектора диска.

Задержка диска составляет около 13 мс, но зависит от качества и скорости вращения жесткого диска. Задержка оперативной памяти составляет около 83 наносекунд. Насколько велика разница? Если бы RAM был F-18 Hornet с максимальной скоростью 1190 миль в час (более чем в 1,5 раза больше скорости звука), скорость доступа к диску была бы банановой пулей с максимальной скоростью 0,007 миль в час.

Вот почему кэширование данных в памяти так важно для производительности — разница в задержке между ОЗУ и жестким диском огромна * .

Есть ли у вас узкое место ввода-вывода?

Измерение времени ожидания операций ввода-вывода — это канареечка для узкого места операций ввода-вывода. Ожидание ввода-вывода — это процент времени, в течение которого ваши процессоры ожидают на диске.

Например, допустим, требуется 1 секунда, чтобы получить 10 000 строк из MySQL и выполнить некоторые операции с этими строками.

Выполняется доступ к диску во время извлечения строк. В это время процессор простаивает. Он ждет на диске. В приведенном выше примере доступ к диску занял 700 мс, поэтому ожидание ввода-вывода составляет 70%.

Вы можете проверить процент ожидания ввода-вывода с помощью команды top , доступной во всех версиях Linux.

В приведенных выше выходных данных ожидание ввода-вывода составляет 12,1 %. Этот сервер имеет 8 ядер (через cat /proc/cpuinfo). Это очень близко к (1/8 ядра = 0,125). Доступ к диску может замедлять работу приложения, если ожидание ввода-вывода постоянно приближается к этому порогу.

Что влияет на производительность ввода-вывода?

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

На количество операций ввода-вывода в секунду влияют четыре основных фактора:

  • Многодисковые массивы. Чем больше дисков в массиве, тем больше операций ввода-вывода в секунду. Если один диск может выполнять 150 операций ввода-вывода в секунду, то два диска могут выполнять 300 операций ввода-вывода в секунду.
  • Среднее количество операций ввода-вывода в секунду на диск. Чем большее количество операций ввода-вывода в секунду может обрабатывать каждый диск, тем выше общая емкость операций ввода-вывода в секунду. Это во многом определяется скоростью вращения привода.
  • Фактор RAID. Скорее всего, ваше приложение использует конфигурацию RAID для хранения, а это означает, что вы используете несколько дисков для обеспечения надежности и избыточности. Некоторые конфигурации RAID имеют значительные ограничения на операции записи. Для RAID 6 каждый запрос на запись требует 6 дисковых операций. Для RAID 1 и RAID 10 запрос на запись требует только 2 дисковых операций. Чем меньше количество дисковых операций, тем выше емкость IOPS. В этой статье подробно рассказывается о производительности RAID и IOPS.
  • Рабочая нагрузка чтения и записи. Если у вас высокий процент операций записи и конфигурация RAID, которая выполняет много операций для каждого запроса на запись (например, RAID 5 или RAID 6 ), количество операций ввода-вывода в секунду будет значительно ниже.

Расчет максимального количества операций ввода-вывода в секунду

Более точный способ определить, насколько вы близки к максимальной пропускной способности операций ввода-вывода, — рассчитать теоретическое значение IOPS и сравнить его с фактическим значением IOPS. Если числа близки, возможно, возникла проблема с вводом-выводом.

Теоретическое количество операций ввода-вывода в секунду можно определить по следующему уравнению:

Операций ввода/вывода в секунду = число дисков * Среднее количество операций ввода/вывода на 1 диск в секунду< /i>
% рабочей нагрузки чтения + (коэффициент рейда * % рабочей нагрузки записи)

Все составляющие этого уравнения, кроме одной, можно определить по характеристикам вашего оборудования. Однако вам нужно будет определить рабочую нагрузку чтения/записи — она зависит от приложения. Для этого используйте такой инструмент, как sar .

Рассчитав теоретическое значение IOPS, сравните его со столбцом tps, отображаемым через sar. Столбец tps показывает количество передач в секунду, которые были выданы на устройство. Это ваш фактический IOPS. Если количество транзакций в секунду близко к теоретическому IOPS , возможно, у вас недостаточно ресурсов.

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

Как лучше всего устранить узкое место ввода-вывода?

Даже если банановый слизень следует всем советам Тело за 4 часа, он никогда не будет таким же быстрым, как F-18 Hornet. Точно так же вы можете настроить дисковое оборудование для повышения производительности, но это сложно и не приблизится к скорости оперативной памяти.

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

Когда мы видим узкие места ввода-вывода в Blue Box Group, мы сначала пытаемся настроить службу, которая использует больше всего операций ввода-вывода, и кэшировать больше своих данных в ОЗУ . Например, мы обычно настраиваем наши серверы баз данных так, чтобы они имели как можно больше оперативной памяти (до 64 ГБ или около того), а затем располагали как можно больше кэша MySQL в памяти.

Три вывода

  • Доступ к диску очень медленный. Скорость доступа к диску не приближается к оперативной памяти .
  • Сначала оптимизируйте свои приложения. Настройка дискового оборудования не является тривиальной задачей и, скорее всего, ее не удастся быстро решить. Постарайтесь, чтобы ваши службы с большим количеством операций ввода-вывода сначала считывали больше данных из кэша ОЗУ.
  • Измерение. Модификации вашего приложения могут сильно повлиять на дисковый ввод-вывод. Записывайте ключевые показатели ввода-вывода с течением времени.

Больше серверов? Или более быстрый код?

Добавление серверов может помочь при медленном коде. Scout APM поможет вам найти и исправить неэффективный и дорогостоящий код. Мы автоматически выявляем вызовы N+1 SQL, нехватку памяти и другие проблемы, связанные с кодом, поэтому вы можете тратить меньше времени на отладку и больше времени на программирование.

См. также

* - Если разница между задержкой ОЗУ и диска кажется вам разительной, так и должно быть -- это огромная разница в производительности. Если это не соответствует вашему повседневному опыту работы с компьютером, имейте в виду три вещи: 1) 13 мс — это время поиска на жестком диске — если вы читаете непрерывные данные из нефрагментированного файла, тогда * скорость передачи * жесткого диска (не скорость поиска) имеет значение. 2) 13 мс по-прежнему чрезвычайно быстро по человеческим меркам. 3) Существует несколько механизмов, позволяющих уменьшить влияние низкой производительности жесткого диска, например подкачка страниц, очередь записи и резидентный кэш жесткого диска.

Понимание производительности хранилища — IOPS и задержка

Введение

Цель этой записи в блоге – помочь вам лучше понять производительность хранилища. Я хочу обсудить некоторые основные принципы, которые верны независимо от ваших конкретных потребностей.

Это поможет вам лучше рассуждать о хранении и может послужить основой для дальнейшего обучения.

Если вы полностью запускаете свои приложения/рабочие нагрузки в облаке, эта информация может показаться устаревшей или неактуальной.

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

Концепции

Ввод-вывод – это один запрос на чтение/запись. Этот ввод-вывод направляется на носитель данных (например, на жесткий диск или твердотельный накопитель).

Это может быть запрос на чтение определенного файла с диска. Или это может быть запрос на запись некоторых данных в существующий файл. Чтение или запись файла может привести к нескольким запросам ввода-вывода.

Размер запроса ввода-вывода

Запрос ввода-вывода имеет размер. Запрос может быть маленьким (например, 1 килобайт) или большим (несколько мегабайт). Различные рабочие нагрузки приложений будут выполнять операции ввода-вывода с разными размерами запросов. Размер запроса ввода-вывода может повлиять на показатели задержки и IOPS (два показателя, которые мы вскоре обсудим).

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

Внимание! без значения задержки этот показатель не имеет смысла. Вскоре мы обсудим задержку.

Пропускная способность или пропускная способность

Если вы умножите показатель IOPS на (средний) размер запроса ввода-вывода, вы получите полосу пропускания или пропускную способность. Обычно пропускная способность хранилища указывается в мегабайтах и ​​гигабайтах в секунду.

В качестве примера: если мы создадим рабочую нагрузку 1000 IOPS с размером запроса 4 КБ, мы получим пропускную способность 1000 x 4 КБ = 4000 КБ. Это примерно ~4 мегабайта в секунду.

Задержка

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

Задержка — это самый важный показатель, на который следует обращать внимание, когда речь идет о производительности хранилища в большинстве случаев.

Для жестких дисков приемлемой считается средняя задержка от 10 до 20 мс (верхний предел – 20 мс).

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

IOPS и задержка

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

Если решение для хранения может достигать 10 000 операций ввода-вывода в секунду, но только при средней задержке 50 мс, это может привести к очень низкой производительности приложения. Если мы хотим достичь максимальной задержки в 10 мс, решение для хранения может быть способно только на 2000 операций ввода-вывода в секунду.

Для получения более подробной информации по этой теме я бы порекомендовал этот блог и этот блог.

Шаблоны доступа

Последовательный доступ

Примером последовательной передачи данных является копирование большого файла с одного жесткого диска на другой. Большое количество последовательных (часто смежных) блоков данных считывается с исходного диска и записывается на другой диск. Задания резервного копирования также вызывают шаблоны последовательного доступа.

На практике этот шаблон доступа показывает максимально возможную пропускную способность.

С жесткими дисками все проще, поскольку им не нужно тратить много времени на перемещение головок чтения/записи, и они могут тратить большую часть времени на чтение/запись фактических данных.

Произвольный доступ

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

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

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

Глубина очереди

Глубина очереди — это число от 1 до ~128, которое показывает, сколько в среднем запросов ввода-вывода находится в очереди (в процессе выполнения). Наличие очереди выгодно, так как запросы в очереди могут быть отправлены в подсистему хранения оптимизированным образом и часто параллельно. Очередь повышает производительность за счет задержки.

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

Характеристики производительности носителя

Жесткие диски

Жесткие диски (HDD) — это механические устройства, напоминающие проигрыватель.

hd01

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

Жесткие диски должны физически перемещать головки чтения/записи для выполнения запросов на чтение/запись. Эта механическая природа делает их относительно медленными по сравнению с твердотельными накопителями (о которых мы вскоре расскажем).

Особенно рабочие нагрузки с произвольным доступом заставляют жесткие диски тратить много времени на перемещение головки чтения/записи в нужное положение в нужное время, поэтому на фактическую передачу данных остается меньше времени.

Самое важное, что нужно знать о жестких дисках, это то, что с точки зрения производительности (с акцентом на задержку) более высокая скорость шпинделя снижает среднюю задержку.

td>
Скорость вращения (об/мин)Задержка доступа (мс)IOPS
5400 17-18 50-60
7200 12-13 75-85
10 000 7-8 120-130
15 0005-6 150-180

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

Задержка и IOPS более старого накопителя Western Digital Velociraptor 10 000 об/мин:

 wd01

Обратите внимание на задержку и IOPS в столбце Queue Depth = 1.

Источник, использованный для проверки моего собственного исследования.

Что касается последовательной пропускной способности, мы можем констатировать, что довольно старые жесткие диски могут поддерживать пропускную способность 100-150 мегабайт в секунду. Более современные жесткие диски большей емкости часто могут поддерживать скорость от 200 до 270 МБ в секунду.

Важное примечание: скорость последовательной передачи непостоянна и зависит от физического расположения данных на пластинах жесткого диска. По мере заполнения диска пропускная способность уменьшается. Пропускная способность может упасть более чем на пятьдесят процентов! 1 .

Поэтому, если вы хотите рассчитать, сколько времени потребуется для передачи конкретного (большого) набора данных, вам необходимо принять это во внимание.

Твердотельные накопители

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

ssd001

В то время как мы измеряем среднюю задержку ввода-вывода для жестких дисков в миллисекундах (тысячная доля секунды), мы измеряем задержку операций ввода-вывода SSD в микросекундах (миллионная доля секунды).

Благодаря уменьшенной задержке на запрос ввода-вывода твердотельные накопители превосходят жесткие диски по всем возможным параметрам. Даже дешевый потребительский твердотельный накопитель может выдержать не менее 5000+ операций ввода-вывода в секунду с задержкой всего 0,15 миллисекунды (150 микросекунд). Эта задержка примерно в 40 раз лучше, чем лучшая задержка корпоративного жесткого диска со скоростью вращения 15 000 об/мин.

Твердотельные накопители часто могут обрабатывать запросы ввода-вывода параллельно. Это означает, что большая глубина очереди с большим количеством запросов ввода-вывода может показать значительно более высокие показатели IOPS с ограниченным (но не незначительным) увеличением задержки.

Более современные корпоративные твердотельные накопители демонстрируют меньшее время задержки и меньшее количество операций ввода-вывода в секунду. Интерфейс SATA кажется основным узким местом.

ssd02

Производительность произвольного ввода-вывода корпоративного твердотельного накопителя SATA

Твердотельные накопители работают лучше, чем жесткие диски, по всем релевантным показателям, кроме соотношения цены и емкости.

Важное примечание. SSD плохо подходят для архивного хранения данных. Данные хранятся в виде зарядов в чипах, и эти заряды могут уменьшаться со временем. Ожидается, что даже жесткие диски лучше подходят для автономного архивирования, хотя наиболее подходящим методом хранения, вероятно, будет магнитная лента.

Фактическая производительность SSD и заявленная производительность

Многие твердотельные накопители рекламируются с показателями производительности от 80 000 до 100 000 операций ввода-вывода в секунду при приличной задержке. В зависимости от рабочей нагрузки вы можете наблюдать только часть этой производительности.

Большинство из этих высоких значений 80–100 000 операций ввода-вывода в секунду получены в результате сравнительного анализа с очень большой глубиной очереди (16–32). SSD выигрывает от такой глубины очереди, потому что он может обрабатывать множество этих запросов ввода-вывода параллельно.

Если мы посмотрим на приведенную выше диаграмму твердотельных накопителей Intel, то заметим, что показатели IOPS начинают приближаться к заявленным 80 000+ IOPS только по мере увеличения глубины очереди. Поэтому важно понимать особенности своей рабочей нагрузки.

Если мы сгруппируем несколько жестких дисков вместе, мы можем создать массив RAID. RAID-массив — это виртуальное запоминающее устройство, которое превосходит по емкости и производительности один жесткий диск. Это позволяет масштабировать хранилище в пределах одного компьютера.

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

Твердотельные накопители могут достигать впечатляющих скоростей последовательной пропускной способности в несколько гигабайт в секунду. Отдельные жесткие диски никогда не смогут приблизиться к этим скоростям, но если вы поместите их вместе в массив RAID, вы сможете приблизиться к ним очень близко. Например, мой собственный NAS достигает таких скоростей, используя 24 диска.

RAID также повышает производительность шаблонов произвольного доступа.Жесткие диски в массиве RAID работают в тандеме для обслуживания этих запросов ввода-вывода, поэтому массив RAID показывает значительно более высокие показатели IOPS, чем один диск. Больше дисков — больше операций ввода-вывода в секунду.

RAID 5 с 8 дисками 7200 об/мин

Обратите внимание, как увеличивается количество операций ввода-вывода в секунду по мере увеличения глубины очереди.

Однако в этом мире нет ничего бесплатного. Большая глубина очереди, которая действует как буфер, увеличивает задержку.

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

RAID 5 с 8 дисками по 10 000 об/мин

Ниже приведены результаты аналогичного теста с жесткими дисками со скоростью вращения 10 000 об/мин. Обратите внимание, насколько лучше показатели IOPS и задержки.

raid10kiops

Задержка выглядит намного лучше:

raid10klat

Твердотельные накопители имеет смысл объединять в RAID. Хотя они более надежны, чем жесткие диски, они могут выйти из строя. Если вам важна доступность, RAID неизбежен. Кроме того, вы можете наблюдать те же преимущества, что и с жесткими дисками: вы объединяете ресурсы вместе, достигая более высоких показателей IOPS и большей емкости, чем это возможно с одним твердотельным накопителем.

Емкость и производительность

Следующее в основном относится к жестким дискам, хотя может относиться и к твердотельным накопителям.

Мы объединяем жесткие диски в массивы RAID, чтобы увеличить количество операций ввода-вывода в секунду по сравнению с одним диском. В какой-то момент — по мере увеличения рабочей нагрузки — мы можем достичь максимального числа операций ввода-вывода в секунду, которое массив RAID может поддерживать с приемлемой задержкой.

Этот порог IOPS/латентности может быть достигнут, даже если мы используем только 50 % емкости хранилища нашего RAID-массива. Если мы используем массив RAID, например, для размещения виртуальных машин, мы не можем добавить больше виртуальных машин, потому что это приведет к увеличению задержки до неприемлемого уровня.

Может показаться, что много хорошего места для хранения будет потрачено впустую, и в некотором смысле это может быть правдой. По этой причине может быть разумной стратегией покупать диски меньшего размера на 10 000 или 15 000 об/мин исключительно из-за количества операций ввода-вывода в секунду, которые они могут обеспечить, а не из-за емкости.

Возможно, вам придется заказать и добавить, скажем, еще 10 жестких дисков, чтобы удовлетворить требования к IOPS/задержке, пока еще остается достаточно места.

Такая ситуация маловероятна, так как твердотельные накопители взяли на себя роль высокопроизводительного хранилища, а жесткие диски (большей емкости) выдвинуты в роли «онлайн» архивного хранилища.

Заключительные слова

Я надеюсь, что эта статья помогла вам лучше понять производительность хранилища. Хотя это всего лишь введение, оно может помочь вам лучше понять проблемы, связанные с производительностью хранилища.

Производительность жесткого диска очень важна для общей скорости системы — медленный жесткий диск может помешать быстрому процессору, как никакой другой системный компонент, — а эффективная скорость жесткого диска определяется количество факторов.

Главным из них является скорость вращения пластин. Скорость вращения диска является критически важным компонентом производительности жесткого диска, поскольку он напрямую влияет на задержку и скорость передачи данных на диск. Чем быстрее вращается диск, тем больше данных проходит под магнитными головками, считывающими данные; чем медленнее RPM, тем выше механические задержки. Жесткие диски вращаются только с одной постоянной скоростью, и какое-то время самые быстрые жесткие диски EIDE вращались со скоростью 5400 об/мин, в то время как быстрый диск SCSI мог достигать 7200 об/мин. В 1997 году компания Seagate увеличила скорость вращения до ошеломляющих 10 033 об/мин, выпустив свой накопитель UltraSCSI Cheetah, а в середине 1998 года стала первым производителем, выпустившим жесткий диск EIDE со скоростью вращения 7 200 об/мин.

В 1999 году компания Hitachi преодолела барьер в 10 000 об/мин, представив накопитель Pegasus II SCSI. Это вращается с удивительной скоростью 12 000 об / мин, что соответствует средней задержке 2,49 мс. Hitachi применила оригинальную конструкцию, чтобы уменьшить избыточное тепло, выделяемое при такой высокой скорости отжима. В стандартном 3,5-дюймовом жестком диске физические дисковые пластины имеют диаметр 3 дюйма. Однако в Pegasus II размер диска был уменьшен до 2,5 дюйма. Диски меньшего размера вызывают меньшее трение воздуха и, следовательно, уменьшают количество тепла, выделяемого приводом. Кроме того, фактическое шасси привода представляет собой один большой радиатор, который также помогает рассеивать тепло. Недостатком является то, что, поскольку пластины меньше и имеют меньшую емкость данных, их больше, и, следовательно, высота диска увеличивается.

Задержка жесткого диска

Механические задержки, измеряемые в миллисекундах, включают как время поиска, так и задержку вращения. Измерение времени поиска определяет количество времени, которое требуется головке чтения/записи жесткого диска, чтобы найти физическое расположение фрагмента данных на диске.Задержка — это среднее время, в течение которого сектор, к которому осуществляется доступ, поворачивается в положение под головкой после завершения поиска. Его легко рассчитать по скорости вращения шпинделя, т.е. по времени на пол-оборота. Среднее время доступа к диску — это интервал между временем, когда система делает запрос данных, и временем, когда данные доступны с диска. Время доступа включает в себя фактическое время поиска, задержку вращения и дополнительное время обработки команд.

Скорость передачи данных на жестком диске

Скорость передачи данных на диск (иногда называемая скоростью носителя) – это скорость, с которой данные передаются на диск и с него (фактически пластина диска), и она зависит от частоты записи. Обычно он описывается в мегабайтах в секунду (МБ/с). Современные жесткие диски имеют увеличивающийся диапазон скоростей передачи от внутреннего диаметра до внешнего диаметра диска. Это называется методом зональной записи. Ключевыми параметрами записи на носитель, относящимися к плотности на пластину, являются количество дорожек на дюйм (TPI) и бит на дюйм (BPI). Трек представляет собой круговое кольцо вокруг диска. TPI — это количество этих дорожек, которые могут поместиться на заданной площади (в дюймах). BPI определяет, сколько битов можно записать на один дюйм дорожки на поверхности диска.

Скорость передачи хоста — это скорость, с которой хост-компьютер может передавать данные через интерфейс IDE/EIDE или SCSI на ЦП. Обычно ее называют скоростью передачи данных или DTR, и она может быть источником некоторой путаницы. Некоторые поставщики указывают внутреннюю скорость передачи, скорость, с которой диск перемещает данные из головки во внутренние буферы. Другие ссылаются на скорость пакетной передачи данных, максимальную скорость передачи, которую диск может достичь в идеальных условиях и в течение короткого времени. Для реального мира важнее скорость внешней передачи данных, или скорость передачи данных с жесткого диска в основную память ПК.

К концу 2001 г. самые быстрые высокопроизводительные диски имели среднюю задержку менее 3 мс, среднее время поиска от 4 до 7 мс и максимальную скорость передачи данных от 50 до 60 МБ/с для EIDE и SCSI. дисков соответственно. Обратите внимание, насколько эти максимальные DTR ниже пропускной способности текущих версий интерфейсов накопителя — Ultra ATA/100 и UltraSCSI 160, — которые рассчитаны на 100 МБ/с и 160 МБ/с соответственно.

Последние статьи

Объяснение наборов микросхем Intel Triton — их история, архитектура и разработка

Triton430FX Представленный в начале 1995 года, 82430FX (если дать ему свое полное название) был первым чипсетом Intel Triton, соответствующим спецификации PCI 2.0. Он представил поддержку конфигураций памяти EDO до 128 МБ, а также конвейерного пакетного кэша и синхронного кэша… [Подробнее. ]

Быстро перемещайтесь по Facebook с помощью этих ярлыков

Сочетания клавиш позволяют перемещаться намного быстрее, чем с помощью мыши. Мышь — полезный гаджет, но нет ничего лучше возможности перемещаться по приложению, не отрываясь от клавиатуры. Но знаете ли вы, что в Facebook также есть список сочетаний клавиш? Хотите верьте, хотите нет, но они… [Подробнее. ]

Добавить папки в меню «Пуск» в Windows

Недавно я говорил о том, как сделать рабочий стол более организованным. Я абсолютно ненавижу беспорядок на рабочем столе. Это делает поиск вещей болью. Стараюсь ставить на рабочий стол только самое важное. Я видел, как многие люди помещают на рабочий стол десятки папок, потому что они получают к ним доступ… [Подробнее. ]

Жесткие диски — не самая интересная тема для обсуждения, но важно знать некоторые понятия, связанные с задержкой диска. Задержка диска относится к временной задержке между запросом данных и возвратом данных. Звучит просто, но на этот раз время может иметь решающее значение для производительности системы.

Мы должны быть удивлены, что традиционные жесткие диски вообще работают, если учесть, что головка, предназначенная для считывания мельчайших магнитных полей, находится на расстоянии 3 нанометров от диска и вращается со скоростью от 5400 до 15 000 об/мин. Удивительно, когда перестаешь думать об этом, да?

Несмотря на все это, мы беспокоимся о том, как быстро мы сможем вернуть данные в систему.

Для определения задержки диска используются три специальных расчета.

<р>1. Задержка вращения

<р>3. Время передачи

Задержка вращения

RotationalLatency

Данные размещаются на пластинах, а пластины вращаются. Головка для чтения и записи не может располагаться на всех данных одновременно, поэтому пластины вращаются очень быстро, чтобы поместить данные под головку для чтения и записи. Время, необходимое пластинам для вращения данных под головкой, называется задержкой вращения.

Для расчета максимальной задержки вращения = 60 000/об/мин

(60 секунд в минуту * 1000, чтобы получить миллисекунды / число оборотов в минуту)

В 2013 году жесткие диски обычно вращались с постоянной скоростью:

< tr>
RPM Задержка вращения (мс)
540011
72008
100006
150004

Средняя задержка вращения диска составляет половину времени, за которое диск совершает один оборот.

Время поиска

Время поиска — это время, которое требуется головке чтения-записи для перемещения между секторами на диске. Иногда данные необходимо записывать снаружи пластин, а иногда и внутри. Чтобы получить эту информацию, головка чтения и записи должна двигаться вперед и назад. Количество времени, которое это занимает, называется «временем поиска».

Максимальное время поиска — это время в миллисекундах, которое требуется головке для перемещения от самой внешней дорожки к самой внутренней дорожке. Это время определяется производителем.

Среднее время поиска составляет одну треть от максимального времени поиска. Я бы объяснил это более подробно, но это связано с исчислением. Если вы хотите погрузиться глубже, я рекомендую просмотреть страницу 10 этого отрывка из книги «Операционные системы: три простых кусочка» Ремзи Арпачи-Дюссо, Андреа Арпачи-Дюссо

DiskLatency1

Время передачи

Скорость дисковых компонентов — это только часть проблемы, но есть еще и время, необходимое для того, чтобы запросы доставлялись из системы на диск.

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

DiskSpec1

Отсюда время передачи также будет зависеть от размера блока. Если мы предполагаем размер блока 4 КБ и скорость передачи 151 МБ, мы можем использовать следующее уравнение

Как убедить потенциальных клиентов совершить покупку? Нарисуйте привлекательную картинку. Мотивация важнее точности. Продажа дополнительного хранилища, заставляющая клиентов сосредоточиться на впечатляющем количестве пропускной способности, утоляет зуд многих клиентов. Правда в другом.

Робин Харрис – главный аналитик TechnoQWAN LLC, основанной им в 2005 году исследовательской и консалтинговой компании в области систем хранения данных. Компания TechnoQWAN, базирующаяся в Седоне, штат Аризона, специализируется на новых технологиях, продуктах, компаниях и рынках.

Пропускная способность – это простое число, которое люди думают, что понимают. Чем больше число, тем быстрее хранилище.

Хранение данных: все, что вам нужно знать о новых технологиях

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

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

Пропускная способность – это удобная метрика, которую легко измерить, но она не является решающим фактором производительности хранилища. То, что измеряет большинство инструментов производительности хранилища, — это пропускная способность при больших запросах. Почему? Потому что небольшие запросы не используют большую пропускную способность.

Следующий рисунок, созданный с помощью инструмента из хранилища ATTO, иллюстрирует это. По оси X указана пропускная способность, а по оси Y — размер доступа. Корреляция очевидна: небольшие запросы не используют большую полосу пропускания.

atto-benchmark.jpg

Тестовый тест на быстром внутреннем твердотельном накопителе PCIe.

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

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

Эти страницы имеют фиксированный размер: 4 КБ для Windows и 16 КБ для последних версий macOS.Если у вас много физической памяти, первоначально после перезагрузки подкачки будет меньше, но со временем, когда вы запускаете больше программ и открываете больше вкладок, физическая память заполняется и начинается подкачка.

Поэтому большая часть трафика ввода-вывода в хранилище не находится под вашим непосредственным контролем. Он также не требует большой пропускной способности.

Что действительно важно?

Задержка. Насколько быстро запоминающее устройство обслуживает запрос.

Существует очевидная причина важности задержки и еще одна тонкая, но не менее важная причина.

Начнем с очевидного.

Допустим, у вас есть устройство хранения данных с неограниченной пропускной способностью, но каждый доступ к нему занимает 10 миллисекунд. Это устройство могло обрабатывать 100 обращений в секунду (1000 мс/10 мс = 100). Если бы средний доступ был 16 КБ, общая пропускная способность составила бы 1 600 000 КБ в секунду, что меньше, чем номинальные 500 Мбит/с, предлагаемые USB 2.0, что тратит впустую почти бесконечную полосу пропускания.

Доступ за 10 мс — это примерно то, что обрабатывает средний жесткий диск, поэтому поставщики хранилищ упаковывают сотни, даже тысячи жестких дисков, чтобы максимально увеличить доступ. Но это были старые недобрые времена.

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

Скрытая причина важности задержки более сложна. Предположим, у вас есть 100 устройств хранения данных с временем доступа 10 мс, а ваш ЦП выполняет 10 000 операций ввода-вывода в секунду (IOPS).

ZDNet рекомендует

Лучшие внешние жесткие диски

Вот лучшие варианты по разным ценам.

Ваши 100 устройств хранения могут обрабатывать 10 000 операций ввода-вывода в секунду, так что это не проблема, верно? Неправильно. Поскольку каждый ввод-вывод занимает 10 мс, ваш процессор обрабатывает 100 незавершенных операций ввода-вывода. Уменьшите задержку до 1 мс, и ЦП будет иметь только 10 незавершенных операций ввода-вывода.

Если происходит всплеск операций ввода-вывода, количество незавершенных операций ввода-вывода может привести к тому, что карта страниц превысит доступную встроенную память и заставит ее начать подкачку. Что, поскольку подкачка и так медленная, Плохо.

Вывод

Проблема с задержкой как показателем производительности состоит из двух частей: ее нелегко измерить; и мало кто понимает его важность. Но люди десятилетиями покупают и используют интерфейсы с меньшей задержкой, вероятно, не зная, почему они лучше, чем более дешевые и номинально такие же быстрые интерфейсы.

Например, преимуществом FireWire перед USB 2, несмотря на примерно сопоставимые значения пропускной способности, была задержка. USB 2 — 500 Мбит/с — используется протокол доступа с опросом с более высокой задержкой. Диск FireWire всегда будет казаться более быстрым, чем тот же диск через USB, из-за протокола с меньшей задержкой. Вы могли загрузить Mac с USB-накопителя 2, но запуск приложений был очень медленным.

Аналогичным образом Thunderbolt всегда оптимизировался с точки зрения задержки, что является одной из причин, по которой он стоит дороже.

Комментарии приветствуются. Это подготовка к другой части, где я рассмотрю накопители USB 3.0 и Thunderbolt. Оставайтесь с нами.

Читайте также: