legal note
IC Book © 2001

hardware
software

support
buy

Home page
   




NIO и метрики накопителей
Press
NIO и метрики накопителей
 


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

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

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

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

Заметим, что SSD диски подчиняются тем же правилам, ведь ячейки Flash памяти, также как и поверхность магнитного диска, подвержены сбоям. В практике тестирования накопителей на магнитных дисках широко используются утилиты сканирования поверхности: Victoria, MHDD и подобные, имплементирующие контроль времени выполнения операции и детальный анализ состояния накопителей, грамотно учитывая все выше сказанное.

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

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

Как проверить скорость диска?

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

И самое главное: перед стресс-тестом всегда дублируйте важную информацию. Да и не только перед стресс-тестом…


Материал ранее не публиковался, 28 августа 2016 г.





about
press


вверх