gifts2017

HD Tune - диагностика проблем производительности винчестера

Опубликовал Евгений Пономаренко (Evgen.Ponomarenko) в раздел Администрирование - Системное

Производительность жесткого диска один из ключевых параметров определяющих производительность баз данных. Проблемы с дисковой подсистемой могут существенно замедлить скорость работы 1с.
Если у вас возникли подозрения, что ваш винчестер начал работать медленнее, чем обычно - не стоит ждать, когда жесткий диск выйдет из строя. Ранняя диагностика проблем  позволит вам не только повысить надежность, но и производительность дисковых подсистем. Детальный радиальный анализ производительности позволяет диагностировать проблему за долго до того, как surface test найдет первые bad блоки. Порой даже S.M.A.R.T. диагностика сообщает статус все ОК, в то время как 5% винчестера считываются на скорости не более 10 мегабайт в секунду. Можно только догадываться о том, каким образом этот факт отражается на работоспособности базы 1С.

1. Программы для диагностики

HD Tune Pro - программа для детального тестирования работоспособности и производительности жестких дисков с различными интерфейсами (SCSI, SATA или IDE), а так же карт памяти и Flash дисков. Производит замер и наглядно отображает такие параметры накопителей, как скорость передачи данных, время чтения, записи и время доступа, уровень загрузки процессора, температуру винчестера, показывает в виде сводной таблицы данные поставляемые S.M.A.R.T, позволяет сканировать жесткие диски и другие накопители на предмет наличия ошибок, выдает информацию о версии Firmware, серийном номере, объеме диска, его кэша, возможном и активном режимах передачи данных и многое другое.

В бесплатном доступе доступны: триальная версия hhdtunepro_550_trial (20 April 2013) и полностью бесплатная hdtune_255 (12 February 2008). В нашем случае для диагностики подойдет и бесплатная, так как она позволяет сравнивать скриншоты производительности разных лет. НD Tune Pro строит более гладкий график и имеет дополнительные средства диагностики, но стоит 24.95 EUR

2. Единицы измерения производительности дисковых подсистем.

Определим два основных понятия, используемых для измерения производительности.

Первый из них – Input-Output Operations Per Second  IOPS - показывает количество операций ввода-вывода в секунду, которые способно обработать устройство. Этот параметр прежде всего характеризует скорость обработки коротких запросов, что характерно для баз данных.

Другим параметром, характеризующим производительность, является Скорость передачи данных, так называемый traffic rate, измеряемый в Мб/с, то есть количеством мегабайт, проходящих по интерфейсу ввода-вывода в секунду.

Следует понимать, что оба этих параметра связаны между собой «обратно пропорционально». Увеличение величины в IOPS вызывает снижение величины в Мб/с и наоборот.

Ограничение: Нельзя одновременно достичь высоких показателей в IOPS и в Мб/с из-за физических свойств жестких дисков.

HD Tune не имеет возможности непосредственно измерять IOPS, для этого она использует другой показатель – access time измеряемый в миллисекундах. Формула перевода выглядит  таким образом IOPS=1000/access time

 3. Необходимые условия диагностики

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

С помощью "Монитора ресурсов" на закладке "Диск" панель "Работа диска" можно наблюдать за активностью посторонних процессов во время тестирования. Если вы используете XP, для наблюдений можно использовать программу AnVir Task Manager  

4. Влияние геометрии диска на скорость обмена данными

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

В отличие от других систем HD Tune позволяет строить детальный график производительности.

Проведем к примеру тест двух винчестеров: 500G (5400rpm) и 1000G (7200rpm):

Рисунок 1.

 Рисунок 2.

Анализ графиков 1 и 2 показывает, что геометрия жёсткого диска влияет на скорость чтения/записи. Чем ближе к внешнему краю пластины диска, тем больше скорость обмена данными. Начальные сектора диска размещаются снаружи, конечные сектора внутри. Таким образом, по мере увеличения номера сектора линейная скорость чтения/записи (Transfer rate) уменьшается.

Для винчестеров со скоростью оборота шпинделя 5400 rpm линейная скорость обмена на внутренних и внешних зонах различается в два раза. Для винчестеров со скоростью оборота 7200 rpm линейная скорость различается в 2,5 раза.

Таким образом, целесообразно размещать корневые разделы операционных систем и баз данных именно в быстрых начальных зонах.

Данный факт можно использовать во время создания разделов диска. Рекомендуемые пропорции могут быть следующими:

Диск С: 10% от общего объема - под операционную систему;
Диск D: 20% от общего объема - под базы;
Диск E: 70% от общего объема - под все остальное.

Выделение отдельного диска под базу данных позволяет оперативно решать проблему дефрагментации диска простым его форматированием.

5. Выявление проблемных областей операций чтения/записи.

Как уже было сказано ранее, тесты поверхностей и технология самодиагностики винчестеров могут не определять проблем производительности. Точнее у них нет такой задачи. По этому проведем эти тесты самостоятельно. В первом случае на скриншоте представлен образ теста почти "мертвого", но в тоже время, согласно тестов самодиагностики S.M.A.R.T, очень даже  "живого" винчестера. Как оказалось, в реальности у него были проблемы с чтением не только файлов, но каталогов. Таким образом, тормоза можно было наблюдать не вооруженным взглядом.

На рисунке 3 видно, что данный диск имеет 7 проблемных зон, где линейная скорость чтения меньше 10Мб/с, что собственно и требовалось доказать.

 

 Рисунок 3. 

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

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

 

Рисунок 4.

6. Выявление проблем на RAID контролерах.

Увы, HD Tune Pro рассматривает рейды как один диск, без возможности диагностировать каждый диск по отдельности. К примеру, тест на сервере выглядит следующим образом:

Рисунок 5.

Если судить по результату данного теста, то дисковая подсистема работает очень медленно, особенно в сравнении с настольными системами. К примеру на рис.2 средняя скорость чтения составляет 100 Мб/с. В тоже время средняя скорость тестируемого массива составляет не более 60 Мб/с.

Калифорнийский университет в Беркли предложил следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
RAID 0 — дисковый массив повышенной производительности с чередованием, без отказоустойчивости;
RAID 1 — зеркальный дисковый массив;
RAID 5 — дисковый массив с чередованием и «невыделенным диском чётности»;
RAID 10 — массив RAID 0, построенный из массивов RAID 1;

Таким образом, RAID 10 объединяет в себе высокую отказоустойчивость и производительность. Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных, ошибочно, т.к., несмотря на то, что для данного уровня RAID возможно сохранение целостности данных при выходе из строя половины дисков, необратимое разрушение массива происходит при выходе из строя уже двух дисков, если они находятся в одной зеркальной паре.

Как следствие, по моим скромным оценкам, производительность дискового массива должна 
быть не меньше 200Мб/сек.

Однако, если провести еще один тест и скопировать файл длинной более 12 Гб, наблюдается следующая картина:
Сначала средняя скорость колеблется в пределах 50-60 Мб/сек в точности как и показывает HD Tune, но после того, как были скопированы 50%, средняя скорость резко возрастает до 200 Мб/сек, иногда достигая значения 390 Мб/сек. Учитывая, что характеристики MBPS обратно пропорциональны IOPS, можно сделать вывод, что поведение контролера оптимизировано под больший IOPS, что большей степени востребовано при работе с базами данных.

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

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

 

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Ruslan (rus128) 09.10.13 10:43
1) Очень много орфографических и грамматических ошибок ("за долго", "стоит убедит(?)ся", "достук", "усредЕнения", не говоря уже о пропущенной пунктуации. Читать тяжело.
2) "Ближе ко внешнему краю пластины диска возрастает длина дорожек (вмещается больше секторов) и, соответственно, количество данных, которые устройство может считать или записать за один оборот. При этом скорость чтения может изменяться от 210 до 30 Мб/с."
Так падает до 30 или растет до 300?
Evgen.Ponomarenko; +1 Ответить 2
2. Евгений Пономаренко (Evgen.Ponomarenko) 09.10.13 14:58
(1) rus128,
1) Очень много орфографических и грамматических ошибок ("за долго", "стоит убедит(?)ся", "достук", "усредЕнения", не говоря уже о пропущенной пунктуации. Читать тяжело.

Большое спасибо за обратную связь. Увлекся, статья должна была быть очень маленькой, но очень быстро разрослась. Трижды была переписана. В последний раз уж очень импульсивно (под впечатлением некоторых открытий).
Нужно было дать ей отлежаться. Я так устал её вычитывать, что после последней правки, просто забыл её еще раз вычитать. Поздно уже было. Прошу прощения у читателей за этот непростительный косяк.
3. Евгений Пономаренко (Evgen.Ponomarenko) 09.10.13 15:00
(1) rus128,
2) "Ближе ко внешнему краю пластины диска возрастает длина дорожек (вмещается больше секторов) и, соответственно, количество данных, которые устройство может считать или записать за один оборот. При этом скорость чтения может изменяться от 210 до 30 Мб/с."
Так падает до 30 или растет до 300


Пока скажем так: ближе к внешнему краю диска скорость обмена данными возрастает от 30 Мб/сек до 210 Мб/сек.

Статью тяжело читать, по причине того, что по мере её написания менялась её структура и содержание, как следствие часть разделов получилась не согласованной между собой. Постараюсь сегодня вечером переписать её заново.
4. Евгений Пономаренко (Evgen.Ponomarenko) 10.10.13 10:36
10.10.2013 Выполнен редизайн статьи, доработана структура параграфов, расставлены акценты.
5. Денис Юрковский (yrkovski_d) 10.10.13 18:39
Классная статья, все разложено по полочкам. Однозначно плюс
6. INSh Шамриков (INSh) 16.10.13 09:39
Хорошая статья! Наконец-то я понял, для чего нужны все эти тесты :-)
7. Александр Лукин (i_lo) 16.10.13 19:13
(0) К вопросу о диагностике raid. Вот, что рекомендую корифеи:
http://msmvps.com/blogs/gladchenko/archive/2009/06/09/1694801.aspx
http://www.windxp.com.ru/articles48.htm
Evgen.Ponomarenko; +1 Ответить 1
8. Евгений Пономаренко (Evgen.Ponomarenko) 16.10.13 21:04
(7) i_lo,
Зачетно, жаль - не могу поставить два плюса.
Могу считать, что написание статьи мне окупилось с лихвой!
Большой СПС!