Методика тестирования жестких дисков с интерфейсом IDE


Предлагаем вашему вниманию методику тестирования жестких дисков с интерфейсом IDE. Создание данного документа преследует две основных цели.

  • Во-первых, объяснить, что, почему и зачем мы делаем.
  • Во-вторых, обеспечит воспроизводимость тестов. Поскольку все используемые тесты имеют бесплатные варианты, любой желающий, воспользовавшись данной методикой может полностью или частично протестировать свой диск и получить более-менее значимые результаты. Конечно, точные численные значения будут зависеть от используемой системной платы, контроллера, количества памяти и т. п. Однако надеюсь, что писем с вопросами типа: «Я протестировал свой диск Sandr-ой, и он у меня оказался быстрее (медленнее) всех, к чему бы это?», — станет меньше.

Итак, приступим к изложению.

1. Тестовая система

Тестовая система состоит из аппаратной части (hardware) и установленного программного обеспечения (software).

Аппаратная часть

Основная проблема при выборе аппаратной части — на как можно более длительное время отсрочить ее моральное старение, поскольку любая смена «железа» приводит к потере сравнимости результатов. За основу был взят чипсет i815E. Причины:

  • относительная новизна;
  • достаточно широкая распространенность;
  • поддержка АТА/100 на уровне чипсета;
  • поддержка 133 MHz системной шины (FSB) и памяти РС133;
  • интегрированное видео.

При выборе конкретной системной платы выбор пал на Iwill WO2-R. Данная плата была выбрана из соображений традиционно устойчивой работы продукции Iwill. Кроме того, не последнюю роль сыграло наличие «на борту» ATA/100 RAID-контроллера от American Megatrends.

В качестве процессора был выбран Intel Pentium III 800ЕВ. Данный процессор обладает вполне достаточной скоростью, чтобы не «тормозить» работу жестких дисков не только сегодняшнего дня, но и обозримого будущего.

Объем памяти был выбран равным 256 МВ. Это на данный момент вполне достаточный объем.

Роль системного диска, то есть диска, на котором записана операционная система, тесты и результаты тестов, играет IBM DTLA 307015. Скорость этого диска опять-таки будет удовлетворять потребностям задач, на него возлагаемых, еще длительное время, а никаких проблем при работе с чипсетом i815E не наблюдалось.

Итак, получаем следующий набор:

  • Системная плата — Iwill WO2-R (BIOS ver. 6.00PGN);
  • Процессор — Intel Pentium III 800EB;
  • Память — 256 MB PC133 SDRAM;
  • Системный диск — IBM DTLA 307015.

Программное обеспечение

Программное обеспечение состоит из операционной системы и необходимых драйверов устройств.

В качестве операционной системы была выбрана Microsoft Windows 2000 Professional Service Pack 1. Преимущества данной ОС очевидны — можно тестировать диски с файловыми системами NTFS и FAT32 под управлением одной ОС. Кроме того, с выходом Service Pack 1 система приобрела необходимую устойчивость.

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

2. Набор тестов

Ziff-Davis WinBench

Используются наборы тестов Disk Inspection Tests и Disk WinMarks из комплекта Ziff-Davis WinBench 99 ver 1.1. Данные тесты работают с логическими дисками.

Набор Disk Inspection Tests представляет собой совокупность тестов, определяющих физические характеристики диска. Сюда входят

  • Disk Transfer Rate. Тест определяет скорость линейного чтения для данного диска в тысячах байт в секунду (thousand bytes/sec). Выдаются два числовых значения — скорость в начале и конце диска, а также, по желанию, график в формате bmp или таблицу значений в формате csv (comma separated values).
  • Disk Access Time. Определяет скорость доступа к диску в миллисекундах (ms). Получается значение, равное сумме времени задержки (average latency) и среднего времени поиска (average seek time).
  • Disk CPU Utilization. Показывает загрузку процессора в процентах (Percent Used) в процессе обмена с диском.

В набор Disk WinMarks входят два теста — Business Disk WinMark и High-End

  • Disk WinMark, каждый из которых, в свою очередь, является составным. Business Disk WinMark выдает усредненное значение скорости работы диска с набором офисных приложений в тысячах байт в секунду (thousand bytes/sec).
  • High-End Disk WinMark выдает как такое же усредненное значение скорости при работе набором «более продвинутых» приложений, так и результаты скорости для каждого приложения. Приложения следующие.
    • AVS/Express 3.4 — программа визуализаци.
    • Microsoft FrontPage 98 — HTML-редактор.
    • Bentley Systems MicroStation SE — программа САПР.
    • Adobe Photoshop 4.0 — программа редактирования изображений.
    • Adobe Premiere 4.2 — программа редактирования видео.
    • Sonic Foundry Sound Forge 4.0 — программа обработки звука.
    • Microsoft Visual C++ 5.0 — компилятор языка С++.
    Набор выбран таким образом, чтобы в нем встречались приложения, работающие как с малыми по объему файлами (FrontPage), так и с относительно большими (Photoshop). В тест включены не всегда последние версии приложений, но что делать.
Скачать тесты можно здесь.

Intel IOMeter

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

Поэтому при настройке теста я пользовался методикой, разработанной StorageReview. Те, кто хочет прочитать данную методику в оригинале, могут прочитать ее там же (раздел Operating Systems and Benchmarks — Part 4 ). Я же далее приведу краткое описание теста.

IOMeter работает с так называемыми «workers». Intel рекомендует создавать по одному «рабочему» на процессор, поэтому в дальнейшем считаем, что worker у нас один. Далее, каждый worker тестирует «цель» или «цели» (target), которые представляют собой либо неразделенный (unpartitioned) физический диск, либо один или несколько разделов (partition) на диске. Дальше начинается самое интересное. Каждому worker может быть присвоена «модель доступа» (access pattern), которая представляет собой набор параметров, в соответствии с которыми данный worker организует доступ к target.

Модель доступа содержит следующие переменные:

  • Transfer Request Size — минимальный блок данных, к которому может обращаться тест.
  • Percent Random/Sequential Distribution — процент запросов, являющихся случайными. Остальные, естественно, являются последовательными.
  • Percent Read/Write Distribution — процент запросов на чтение. Еще одна важная переменная, прямо не входящая в модель доступа — # of Outstanding I/Os — определяет число одновременных запросов ввода/вывода для данного worker-а и, соответственно, загрузку диска.

Вот так вот. Естественно, произвольным образом задавая параметры, можно получить широкий спектр несравнимых между собой результатов, имеющих крайне малый практический смысл. В связи с этим возникает естественный вопрос: а как задать модель доступа таким образом, чтобы она моделировала работу диска в реальных условиях? Тут я не стал изобретать велосипед и воспользовался методикой, предложенной на том же StorageReview.

Итак, для тестов предлагаются 3 модели доступа — File Server (модель определена Intel и идет в комплекте с IOMeter), Workstation и Database (определены StorageReview). Ниже приведена таблица параметров для каждой модели, взятая опять-таки со StorageReview(раздел Operating Systems and Benchmarks — Part 5 ). Там же вы можете прочитать и о причинах выбора таких моделей.

Access Patterns
% of Access Specification Transfer Size Request % Reads % Random
File Server Access Pattern (as defined by Intel)
10% 0.5 KB 80% 100%
5% 1 KB 80% 100%
5% 2 KB 80% 100%
60% 4 KB 80% 100%
2% 8 KB 80% 100%
4% 16 KB 80% 100%
4% 32 KB 80% 100%
10% 64 KB 80% 100%
Workstation Access Pattern (as defined by StorageReview.com)
100% 8 KB 80% 80%
Database Access Pattern (as defined by Intel/StorageReview.com)
100% 8 KB 67% 100%

Теперь о том, что касается параметра # of Outstanding I/Os. Если этот параметр установить равным 1, то, в сочетании со 100%-м значением Percent Random/Sequential Distribution получаем фактически измерение значения времени случайного доступа (random access time). Значение 4 соответствует загрузке элементарного приложения типа Windows Calculator. Как показали исследования, проведенные специалистами StorageReview, в среднем на реальных приложениях этот параметр принимает значение 30-50. Значение параметра больше 100 соответствует большой загрузке диска (например, при дефрагментации). В соответствии с этим предлагается проводить тесты с использованием пяти следующих значений данного параметра.

Loads
Linear 1 Outstanding I/O
Very Light 4 Outstanding I/Os
Light 16 Outstanding I/Os
Moderate 64 Outstanding I/Os
Heavy 256 Outstanding I/Os

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

  • IOps — Total I/Os Per Second — среднее число запросов, выполненных за секунду. Запрос состоит из позиционирования и чтения/записи блока соответствующего размера. Также отдельно выдаются значения Read IOps и Write IOps.
  • MBps — Total MBs Per Second — то же самое, но другими словами. В случае моделей, работающих с блоками одного размера (Workstation и Database) — просто произведение Total I/Os Per Second на размер блока. Соответственно Read MBps и Write MBps.
  • Average I/O Response Time — среднее время выполнения операции. Для линейной (1 outstanding I/O) загрузки — опять-таки то же, что и Total I/Os Per Second (Total I/Os Per Second = 1000 milliseconds / Average I/O Response Time). С возрастанием загрузки значение возрастает, но нелинейно. Результат зависит от оптимизации drive firmware, шины и операционной системы. Соответственно Average Read Response Time и Average Write Response Time.
  • Maximum Response Time — максимальное время выполнения операции. Аналогично выдаются значения Maximum Read Response Time и Maximum Write Response Time.
  • Общее количество считанных и записанных байт, а также операций чтения и записи.
  • % CPU Utilization — загрузка процессора в процентах.
  • CPU Effectiveness — I/Os per % CPU Utilization — с этим все ясно.

Все результаты выдаются в виде таблиц в формате csv.

3. Методика проведения тестов

Диск распаковывается и устанавливается как master на первый канал встроенного IDE контроллера системной платы. Диск не разбивается и не форматируется.

Загружается ОС с системного диска, после чего проводятся 15 тестов Intel IOMeter (по 5 уровней нагрузки для каждой из трех моделей доступа). Тест позволяет устанавливать время выполнения теста (в Trial Version, к сожалению, только вручную — нажатием на кнопку STOP) и время от начала работы теста до начала измерений (rump-up time). Тут я так же не стал оригинальничать и вслед за коллегами принял время выполнения каждого теста равным 10 минутам, а задержку rump-up — равной 30 секундам. Все результаты записываются на системный диск.

Перезагружается ОС.

Стандартными средствами ОС на диске создается один раздел, равный по объему всему диску. Раздел форматируется с использованием файловой системы NTFS.

Перезагружается ОС.

Запускается Ziff-Davis Winbench, формируется и запускается описанный выше набор тестов. Этот процесс проводится троекратно с перезагрузкой ОС между запусками. Все результаты заносятся в соответствующую базу данных. После окончания данного этапа тестирования раздел уничтожается.

Перезагружается ОС.

Стандартными средствами ОС на диске создается один раздел, равный по объему всему диску. Раздел форматируется с использованием файловой системы FAT32 (для дисков большого объема форматирование производится средствами ОС Windows 98).

Перезагружается ОС.

Запускается Ziff-Davis Winbench, формируется и запускается описанный выше набор тестов. Этот процесс проводится троекратно с перезагрузкой ОС между запусками. Все результаты заносятся в соответствующую базу данных.

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

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




Дополнительно

Методика тестирования жестких дисков с интерфейсом IDE

Методика тестирования жестких дисков с интерфейсом IDE

Предлагаем вашему вниманию методику тестирования жестких дисков с интерфейсом IDE. Создание данного документа преследует две основных цели.

  • Во-первых, объяснить, что, почему и зачем мы делаем.
  • Во-вторых, обеспечит воспроизводимость тестов. Поскольку все используемые тесты имеют бесплатные варианты, любой желающий, воспользовавшись данной методикой может полностью или частично протестировать свой диск и получить более-менее значимые результаты. Конечно, точные численные значения будут зависеть от используемой системной платы, контроллера, количества памяти и т. п. Однако надеюсь, что писем с вопросами типа: «Я протестировал свой диск Sandr-ой, и он у меня оказался быстрее (медленнее) всех, к чему бы это?», — станет меньше.

Итак, приступим к изложению.

1. Тестовая система

Тестовая система состоит из аппаратной части (hardware) и установленного программного обеспечения (software).

Аппаратная часть

Основная проблема при выборе аппаратной части — на как можно более длительное время отсрочить ее моральное старение, поскольку любая смена «железа» приводит к потере сравнимости результатов. За основу был взят чипсет i815E. Причины:

  • относительная новизна;
  • достаточно широкая распространенность;
  • поддержка АТА/100 на уровне чипсета;
  • поддержка 133 MHz системной шины (FSB) и памяти РС133;
  • интегрированное видео.

При выборе конкретной системной платы выбор пал на Iwill WO2-R. Данная плата была выбрана из соображений традиционно устойчивой работы продукции Iwill. Кроме того, не последнюю роль сыграло наличие «на борту» ATA/100 RAID-контроллера от American Megatrends.

В качестве процессора был выбран Intel Pentium III 800ЕВ. Данный процессор обладает вполне достаточной скоростью, чтобы не «тормозить» работу жестких дисков не только сегодняшнего дня, но и обозримого будущего.

Объем памяти был выбран равным 256 МВ. Это на данный момент вполне достаточный объем.

Роль системного диска, то есть диска, на котором записана операционная система, тесты и результаты тестов, играет IBM DTLA 307015. Скорость этого диска опять-таки будет удовлетворять потребностям задач, на него возлагаемых, еще длительное время, а никаких проблем при работе с чипсетом i815E не наблюдалось.

Итак, получаем следующий набор:

  • Системная плата — Iwill WO2-R (BIOS ver. 6.00PGN);
  • Процессор — Intel Pentium III 800EB;
  • Память — 256 MB PC133 SDRAM;
  • Системный диск — IBM DTLA 307015.

Программное обеспечение

Программное обеспечение состоит из операционной системы и необходимых драйверов устройств.

В качестве операционной системы была выбрана Microsoft Windows 2000 Professional Service Pack 1. Преимущества данной ОС очевидны — можно тестировать диски с файловыми системами NTFS и FAT32 под управлением одной ОС. Кроме того, с выходом Service Pack 1 система приобрела необходимую устойчивость.

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

2. Набор тестов

Ziff-Davis WinBench

Используются наборы тестов Disk Inspection Tests и Disk WinMarks из комплекта Ziff-Davis WinBench 99 ver 1.1. Данные тесты работают с логическими дисками.

Набор Disk Inspection Tests представляет собой совокупность тестов, определяющих физические характеристики диска. Сюда входят

  • Disk Transfer Rate. Тест определяет скорость линейного чтения для данного диска в тысячах байт в секунду (thousand bytes/sec). Выдаются два числовых значения — скорость в начале и конце диска, а также, по желанию, график в формате bmp или таблицу значений в формате csv (comma separated values).
  • Disk Access Time. Определяет скорость доступа к диску в миллисекундах (ms). Получается значение, равное сумме времени задержки (average latency) и среднего времени поиска (average seek time).
  • Disk CPU Utilization. Показывает загрузку процессора в процентах (Percent Used) в процессе обмена с диском.

В набор Disk WinMarks входят два теста — Business Disk WinMark и High-End

  • Disk WinMark, каждый из которых, в свою очередь, является составным. Business Disk WinMark выдает усредненное значение скорости работы диска с набором офисных приложений в тысячах байт в секунду (thousand bytes/sec).
  • High-End Disk WinMark выдает как такое же усредненное значение скорости при работе набором «более продвинутых» приложений, так и результаты скорости для каждого приложения. Приложения следующие.
    • AVS/Express 3.4 — программа визуализаци.
    • Microsoft FrontPage 98 — HTML-редактор.
    • Bentley Systems MicroStation SE — программа САПР.
    • Adobe Photoshop 4.0 — программа редактирования изображений.
    • Adobe Premiere 4.2 — программа редактирования видео.
    • Sonic Foundry Sound Forge 4.0 — программа обработки звука.
    • Microsoft Visual C++ 5.0 — компилятор языка С++.
    Набор выбран таким образом, чтобы в нем встречались приложения, работающие как с малыми по объему файлами (FrontPage), так и с относительно большими (Photoshop). В тест включены не всегда последние версии приложений, но что делать.
Скачать тесты можно здесь.

Intel IOMeter

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

Поэтому при настройке теста я пользовался методикой, разработанной StorageReview. Те, кто хочет прочитать данную методику в оригинале, могут прочитать ее там же (раздел Operating Systems and Benchmarks — Part 4 ). Я же далее приведу краткое описание теста.

IOMeter работает с так называемыми «workers». Intel рекомендует создавать по одному «рабочему» на процессор, поэтому в дальнейшем считаем, что worker у нас один. Далее, каждый worker тестирует «цель» или «цели» (target), которые представляют собой либо неразделенный (unpartitioned) физический диск, либо один или несколько разделов (partition) на диске. Дальше начинается самое интересное. Каждому worker может быть присвоена «модель доступа» (access pattern), которая представляет собой набор параметров, в соответствии с которыми данный worker организует доступ к target.

Модель доступа содержит следующие переменные:

  • Transfer Request Size — минимальный блок данных, к которому может обращаться тест.
  • Percent Random/Sequential Distribution — процент запросов, являющихся случайными. Остальные, естественно, являются последовательными.
  • Percent Read/Write Distribution — процент запросов на чтение. Еще одна важная переменная, прямо не входящая в модель доступа — # of Outstanding I/Os — определяет число одновременных запросов ввода/вывода для данного worker-а и, соответственно, загрузку диска.

Вот так вот. Естественно, произвольным образом задавая параметры, можно получить широкий спектр несравнимых между собой результатов, имеющих крайне малый практический смысл. В связи с этим возникает естественный вопрос: а как задать модель доступа таким образом, чтобы она моделировала работу диска в реальных условиях? Тут я не стал изобретать велосипед и воспользовался методикой, предложенной на том же StorageReview.

Итак, для тестов предлагаются 3 модели доступа — File Server (модель определена Intel и идет в комплекте с IOMeter), Workstation и Database (определены StorageReview). Ниже приведена таблица параметров для каждой модели, взятая опять-таки со StorageReview(раздел Operating Systems and Benchmarks — Part 5 ). Там же вы можете прочитать и о причинах выбора таких моделей.

Access Patterns
% of Access Specification Transfer Size Request % Reads % Random
File Server Access Pattern (as defined by Intel)
10% 0.5 KB 80% 100%
5% 1 KB 80% 100%
5% 2 KB 80% 100%
60% 4 KB 80% 100%
2% 8 KB 80% 100%
4% 16 KB 80% 100%
4% 32 KB 80% 100%
10% 64 KB 80% 100%
Workstation Access Pattern (as defined by StorageReview.com)
100% 8 KB 80% 80%
Database Access Pattern (as defined by Intel/StorageReview.com)
100% 8 KB 67% 100%

Теперь о том, что касается параметра # of Outstanding I/Os. Если этот параметр установить равным 1, то, в сочетании со 100%-м значением Percent Random/Sequential Distribution получаем фактически измерение значения времени случайного доступа (random access time). Значение 4 соответствует загрузке элементарного приложения типа Windows Calculator. Как показали исследования, проведенные специалистами StorageReview, в среднем на реальных приложениях этот параметр принимает значение 30-50. Значение параметра больше 100 соответствует большой загрузке диска (например, при дефрагментации). В соответствии с этим предлагается проводить тесты с использованием пяти следующих значений данного параметра.

Loads
Linear 1 Outstanding I/O
Very Light 4 Outstanding I/Os
Light 16 Outstanding I/Os
Moderate 64 Outstanding I/Os
Heavy 256 Outstanding I/Os

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

  • IOps — Total I/Os Per Second — среднее число запросов, выполненных за секунду. Запрос состоит из позиционирования и чтения/записи блока соответствующего размера. Также отдельно выдаются значения Read IOps и Write IOps.
  • MBps — Total MBs Per Second — то же самое, но другими словами. В случае моделей, работающих с блоками одного размера (Workstation и Database) — просто произведение Total I/Os Per Second на размер блока. Соответственно Read MBps и Write MBps.
  • Average I/O Response Time — среднее время выполнения операции. Для линейной (1 outstanding I/O) загрузки — опять-таки то же, что и Total I/Os Per Second (Total I/Os Per Second = 1000 milliseconds / Average I/O Response Time). С возрастанием загрузки значение возрастает, но нелинейно. Результат зависит от оптимизации drive firmware, шины и операционной системы. Соответственно Average Read Response Time и Average Write Response Time.
  • Maximum Response Time — максимальное время выполнения операции. Аналогично выдаются значения Maximum Read Response Time и Maximum Write Response Time.
  • Общее количество считанных и записанных байт, а также операций чтения и записи.
  • % CPU Utilization — загрузка процессора в процентах.
  • CPU Effectiveness — I/Os per % CPU Utilization — с этим все ясно.

Все результаты выдаются в виде таблиц в формате csv.

3. Методика проведения тестов

Диск распаковывается и устанавливается как master на первый канал встроенного IDE контроллера системной платы. Диск не разбивается и не форматируется.

Загружается ОС с системного диска, после чего проводятся 15 тестов Intel IOMeter (по 5 уровней нагрузки для каждой из трех моделей доступа). Тест позволяет устанавливать время выполнения теста (в Trial Version, к сожалению, только вручную — нажатием на кнопку STOP) и время от начала работы теста до начала измерений (rump-up time). Тут я так же не стал оригинальничать и вслед за коллегами принял время выполнения каждого теста равным 10 минутам, а задержку rump-up — равной 30 секундам. Все результаты записываются на системный диск.

Перезагружается ОС.

Стандартными средствами ОС на диске создается один раздел, равный по объему всему диску. Раздел форматируется с использованием файловой системы NTFS.

Перезагружается ОС.

Запускается Ziff-Davis Winbench, формируется и запускается описанный выше набор тестов. Этот процесс проводится троекратно с перезагрузкой ОС между запусками. Все результаты заносятся в соответствующую базу данных. После окончания данного этапа тестирования раздел уничтожается.

Перезагружается ОС.

Стандартными средствами ОС на диске создается один раздел, равный по объему всему диску. Раздел форматируется с использованием файловой системы FAT32 (для дисков большого объема форматирование производится средствами ОС Windows 98).

Перезагружается ОС.

Запускается Ziff-Davis Winbench, формируется и запускается описанный выше набор тестов. Этот процесс проводится троекратно с перезагрузкой ОС между запусками. Все результаты заносятся в соответствующую базу данных.

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

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