NIOBench поможет разделить диск оптимально

30 Авг 2016

NIOBench поможет идеально разделить диск

Оказывается, «разогнать» компьютер можно без переключения частот и тай­мингов, не пользуясь жидким азотом, и причем – без ущерба для ста­бильности. Для этого достаточно расширить «бутылочное горло» плат­формы, оптимизировав работу жестких дисков. Дело в том, что пра­к­тически все современные накопители на магнитных дисках при­ме­ня­ют технологию ZBR или Zone Bit Recording. Она использует известный факт, про­истекающий из свойств физической реальности: длина окружности за­висит от ее радиуса. Говорят, что есть миры, в которых и по-другому бывает. Но мы озаботимся только практической стороной вопроса.

 

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

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

Количество секторов в зоне зависит от расположения на диске
Рис 1. Количество секторов в зоне зависит от расположения на диске

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

В Linux к назначениям разделов подходят очень тщательно
Рис 2. В Linux к назначениям разделов подходят очень тщательно

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

Идеальный сценарий выбора партиций жесткого магнитного диска
Рис 3. Идеальный сценарий выбора партиций жесткого магнитного диска

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

Неочевидные факторы стабильности бенчмарок

По указанной причине, измерение производительности рекомендуется выполнять на «свежеотформатированном» накопителе, иначе фактор Zone Bit Recording, а также фрагментация файлов, неизбежно скажутся на повторя­е­мос­ти их результатов.

Кроме того, существенное значение имеет размер тестовых файлов. Операционная система, а также виртуальная java-машина, применяют кэширование, отложенную запись и опережающее чтение дисковых данных. Все эти тех­но­ло­гии, весьма полезные с точки зрения повышения быстродействия, негативно влияют на стабильность ре­зуль­та­тов бенчмарок. Если нам необходимо протестировать накопитель, а не интеллект дисковых драйверов, необ­хо­ди­мо использовать сравнительно большие файлы. Тест по умолчанию, предлагаемый разработчиками утилиты NIOBench, начиная с версии 0.30, определяет обработку 10 файлов размером 1 гигабайт. Так как для теста ко­пи­ро­ва­ния нужны файлы-источники и получатели, такой сценарий потребует минимум 10*2=20 гигабайт свободного пространства на диске, с небольшим запасом для фоновых процессов.

Утилита NIOBench
Рис 4Утилита NIOBench

И напоследок, несколько совсем уж очевидных рекомендаций. На время теста следует минимизировать количе­ство активно работающих приложений, особенно если они обращаются к диску. И конечно, перед любыми опы­та­ми, нелишне вспомнить, что из всех искусств для нас важнейшим является backup...