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

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.