Влияние фрагментации на производительность дисков
Опубликовано:
15 марта 2010 в 09:10
Очень часто слышу от администраторов, что у них система DIRECTUM стала медленной. И когда спрашиваю о дефрагментации дисков, где хранится БД DIRECTUM, ответ от 90% администраторов был: «нет, не делаю, а для чего это необходимо, если у меня файловая система NTFS?» Не соглашусь с этим высказыванием. Фрагментация файлов на дисках с файловой системой NTFS намного меньше, чем на дисках с файловой системой FAT32, но это не означает, что ее нет.
А теперь, давай посмотрим влияние фрагментации файлов на производительность диска. Для этого записал несколько счетчиков производительности диска с фрагментацией за один день, после дефрагментации диска записал счетчики еще раз.
Название счетчика: Среднее время чтения с диска.
Минимальное значение
Максимальное значение
Среднее значение
стандартное отклонение
Название счетчика: Среднее время записи на диск.
Минимальное значение
Максимальное значение
Среднее значение
стандартное отклонение
Название счетчика: Текущая длина очереди диска.
Все, что нужно знать о дефрагментации жесткого диска
Дефрагментация диска — процедура объединения разбитых на фрагменты файлов, которая, в основном, используется для оптимизации Windows. Практически в любой статье по ускорению работы компьютера можно встретить совет о проведении дефрагментации.
Но далеко не все пользователи понимают, что же представляет собой дефрагментация, и не знают, в каких случаях нужно ее делать, а в каких нет; какое ПО для этого стоит использовать — достаточно ли встроенной утилиты, или же лучше установить стороннюю программу.
Что такое дефрагментация диска
Делая дефрагментацию диска, многие пользователи даже не задумываются или не пытаются узнать, что же это вообще такое. Ответ можно найти в самом названии: «дефрагментация» – это процесс, объединяющий файлы, которые при записи на жесткий диск были разбиты на фрагменты. На изображении ниже наглядно видно, что слева фрагменты одного файла записаны сплошным потоком, без пустых мест и разделений, а справа этот же файл разбросан по жесткому диску в виде кусочков.
Естественно, диску гораздо удобнее и быстрее считывать сплошной файл, чем разделенный пустым пространством и другими файлами.
Почему происходит фрагментация HDD
Жесткие диски состоят из секторов, каждый из которых может хранить определенный объем информации. Если на винчестер сохраняется файл большого размера, который нельзя уместить в один сектор, то он разбивается и сохраняется в несколько секторов.
По умолчанию система всегда старается записать фрагменты файла как можно ближе друг к другу — в соседние сектора. Однако из-за удаления/сохранения других файлов, изменения размера уже сохраненных файлов и других процессов не всегда хватает свободных секторов, расположенных рядом друг с другом. Поэтому Windows переносит запись файла в другие части HDD.
Как фрагментация влияет на скорость работы накопителя
Когда требуется открыть записанный фрагментированный файл, головка винчестера будет последовательно передвигаться в те сектора, куда он был сохранен. Таким образом, чем больше раз ему придется передвигаться по жесткому диску в попытке отыскать все кусочки файла, тем медленнее будет происходить считывание.
На изображении слева видно, сколько движений необходимо совершить головке винчестера, чтобы прочитать файлы, разбитые на части. Справа оба файла, обозначенные синим и желтым цветами, записаны непрерывно, что существенно уменьшает количество перемещений по поверхности диска.
Дефрагментация — процесс перестановки кусочков одного файла так, чтобы снизился общий процент фрагментации, и все файлы (по возможности) располагались на соседних секторах. Благодаря этому считывание будет происходить непрерывно, что положительно скажется на скорости работы HDD. Это особенно заметно при чтении объемных файлов.
Есть ли смысл использовать сторонние программы для дефрагментации
Разработчики создали большое количество программ, которые занимаются дефрагментацией. Можно найти как небольшие программки-дефрагментаторы, так и встретить их в составе комплексных оптимизаторов системы. Существуют бесплатные и платные варианты. Но нужны ли они?
Определенная эффективность сторонних утилит, несомненно, присутствует. Программы от разных разработчиков могут предлагать:
Конечно, функции программ разнятся в зависимости от разработчика, поэтому пользователю необходимо подбирать утилиту, исходя из своих потребностей и возможностей ПК.
Обязательно ли проводить постоянную дефрагментацию диска
Все современные версии Windows предлагают автоматическое проведение этого процесса по расписанию раз в неделю. В целом, это больше бесполезно, чем необходимо. Дело в том, что сама по себе фрагментация — старая процедура, и раньше действительно была постоянно нужна. В прошлом даже легкая фрагментация уже отрицательно сказывалась на производительности системы.
Современные HDD имеют более высокую скорость работы, а новые версии операционных систем стали гораздо «умнее», поэтому даже с определенным процессом фрагментации пользователь может не замечать снижения скорости работы. И если используется винчестер с большим объемом (1 ТБ и выше), то система может распределить тяжелые файлы оптимальным для нее образом так, что это не отразится на производительности.
Кроме того, постоянный запуск дефрагментатора сокращает срок службы диска — это немаловажный минус, который стоит брать во внимание.
Поскольку по умолчанию в Windows дефрагментация включена, то ее необходимо отключать вручную:

Нужна ли дефрагментация SSD диска
Очень распространенная ошибка пользователей, использующих твердотельные накопители — использование любого дефрагментатора. Запомните, если у вас установлен SSD на компьютере или ноутбуке, ни в коем случае не производите дефрагментацию — это сильно ускоряет износ накопителя. Кроме того, такая процедура не повысит скорость работы твердотельного накопителя.
Особенности дефрагментации
Есть несколько нюансов для качественного проведения этой процедуры:
Как проводить дефрагментацию
Есть два основных способа проведения дефрагментации: установка утилиты от другого разработчика или использование встроенной в операционную систему программы. Оптимизировать при этом можно не только встроенные диски, но и внешние накопители, подключенные по USB.
На нашем сайте уже есть инструкция по проведению дефрагментации на примере Windows 7. В ней вы найдете руководство по работе с популярными программами и стандартной Windows-утилитой.
Подводя итоги вышесказанного, мы советуем:
Помимо этой статьи, на сайте еще 12464 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Фрагментация диска и её влияние на целостность данных
С началом популяризации многозадачных операционных систем, разработчики программ и оборудования столкнулись с проблемой фрагментации данных, которая оказывала негативный эффект на скорость чтения в классических HDD накопителях. С развитием технологий и появлением высокоскоростных SSD накопителей, данная проблема была отчасти нивелирована, тем не менее фрагментация данных продолжает оказывать негативное влияние даже на современные твердотельные диски.
Содержание:
Как и почему происходит фрагментация?
Каждый файл, который пользователь собирается записать на накопитель, будет помещаться в самый большой непрерывный фрагмент пространства диска. На новых запоминающих устройствах, такой фрагмент практически всегда длиннее файла, но в процессе использования, фрагменты становятся всё короче, и система распределяет данные на отдельные куски по всему телу диска.
Если файл действительно большой, система автоматически может разбить его на целую массу отдельных сегментов. В результате этого, диску придется выполнять намного больше манипуляций по считыванию, перемещению и позиционированию головок. В итоге, диск способный обеспечивать скорость считывания в 100-150 MB/с, сможет выдавать 10-30 MB/с в зависимости от степени фрагментации данных.
Отметим, значительное падение скорости считывания – не самое плохое, что может случится с фрагментированными файлами. Из-за того, что файлы раскиданы по телу накопителя, движущему приводу и считывающим головкам необходимо выполнять намного больше манипуляций, что конечно же негативно сказывается на надежности устройства и значительно повышает износ.
Не менее значимой проблемой фрагментированного диска является многократно возросший риск безвозвратной утери файлов после форматирования или удаления. Повреждение файловой системы, вредоносная деятельность вирусов, случайное удаление или форматирование сильно фрагментированного накопителя – достаточно трудная ситуация даже для профессиональных утилит, предназначенных для восстановления данных.
Это обусловлено алгоритмами, которые начинают работать после запуска утилит для восстановления. Поиск удаленных данных основан на поиске сигнатур, то есть программа анализирует поверхность накопителя, поочередно проверяя сектор за сектором в попытках найти тот, что когда-то был «заголовком» удаленного файла.
После нахождения заголовка алгоритм попытается определить длину файла (эта информация часто содержится в заголовке или её можно определить путем дальнейшего анализа данных). Определив длину, остается обнаружить сектора накопителя, которые соответствуют удаленному файлу.
Именно на этом этапе фрагментация может оказать решающее влияние на успех восстановления файлов, поскольку при сильной фрагментации данных, проверка секторов будет занимать больше времени, а также алгоритм будет давать неверные предположения о соответствии конкретных секторов к определённым данным.
Как уменьшить фрагментацию?
Для уменьшения фрагментации данных в Windows был предусмотрен специальный комплекс утилит, основной задачей которых является оптимизация и дефрагментация накопителя. Отметим, для наиболее эффективного результата, следует настроить дефрагментацию для регулярной проверки накопителя, к примеру, раз в неделю. Дефрагментация должна применяться ко всем дискам и логическим разделам.
Помимо этого, для успешного проведения дефрагментации утилите необходимо свободное пространство. Опытные пользователи стараются всегда оставлять не менее 20% свободного пространства на диске для его корректной работы, а также для нормальной работы оптимизирующих утилит. Также подобный подход позволяет уменьшить сам процесс фрагментации при записи объемных данных.
Но эффективно ли это для SSD?
Твердотельные SSD накопители и фрагментация
Каждый владелец SSD знает, что твердотельные накопители не нуждаются в проведении дефрагментации. В статье «Как увеличить срок службы SSD диска» мы более детально рассмотрели данный вопрос.
Отметим, в конструкции SSD отсутствуют движущиеся детали и твердотельному накопителю абсолютно безразлично фрагментированы данные или нет, поскольку скорость их считывания всегда будет максимальной.
Несмотря на это, мы настоятельно рекомендуем оставлять не менее 20% свободного места на накопителе, поскольку это позволит:
Часто задаваемые вопросы
Это сильно зависит от емкости вашего жесткого диска и производительности вашего компьютера. В основном, большинство операций восстановления жесткого диска можно выполнить примерно за 3-12 часов для жесткого диска объемом 1 ТБ в обычных условиях.
Если файл не открывается, это означает, что файл был поврежден или испорчен до восстановления.
Используйте функцию «Предварительного просмотра» для оценки качества восстанавливаемого файла.
Когда вы пытаетесь получить доступ к диску, то получаете сообщение диск «X: \ не доступен». или «Вам нужно отформатировать раздел на диске X:», структура каталога вашего диска может быть повреждена. В большинстве случаев данные, вероятно, все еще остаются доступными. Просто запустите программу для восстановления данных и отсканируйте нужный раздел, чтобы вернуть их.
Пожалуйста, используйте бесплатные версии программ, с которыми вы можете проанализировать носитель и просмотреть файлы, доступные для восстановления.
Сохранить их можно после регистрации программы – повторное сканирование для этого не потребуется.
Что такое дефрагментация диска и для чего она нужна
Настает время, когда владелец компьютера начинает замечать, что его помощник начинает работать медленно и неэффективно. Неизбежно возникает желание это исправить. Есть возможность увеличить быстродействие практически на 65%. И это не фантастика. Разработчики программного обеспечения уже это предусмотрели. Для этого нужна дефрагментация жесткого диска. Давайте разберемся вместе, что это такое, и для чего она нужна.
Фрагментация жесткого диска
У нового компьютера на его пустой жесткий диск записываются данные. Они разного объема, но запись идет по порядку — от файла к файлу. Приходит момент, и стирается несколько файлов, допустим, расположенных в середине. Куда запишется новый файл, особенно, если он большего размера, чем на освободившееся место. Понятно, что старого размера не хватит. Конечно, можно записать его в конце очереди, а пустое пространство удаленного файла оставить неиспользованным. Но система настроена таким образом, что при последующей записи используется любое свободное место, расположенное ближе к началу. Если фрагмент больших данных не поместился в пустое место, он переносится в конец полного пространства.
Операционка любого компьютера сама анализирует свободное место и новый большой объем делит на логические части. Собственно сам процесс разделения данных на отдельные части и называется фрагментацией.
Если данные на жестком диске сильно фрагментированы, компьютеру необходим определенный период времени, чтобы найти отдельные части и собрать их вместе. Именно этот процесс и замедляет работу операционной системы.
Наиболее сильно фрагментируются базы данных, протоколы (логи) программ и фильмы, записанные на компьютер. Сам фильм не повреждается, но все части оказываются разбросанными по разным секторам. В итоге, считывание замедляется за счет того, что головка жесткого диска проделывает многократные движения, чтобы «прочитать» весь файл. А это негативно сказывается на общей производительности системы.
Дефрагментация приводит систему в порядок
Под дефрагментацией имеется ввиду сам процесс собирания отдельных частей в одно отведенное место. При этом происходит сбор разбросанных по винчестеру фрагментов одного файла. Кроме того, все записанные данные оказываются в начале, а свободные ячейки в конце диска. Это позволяет:
Опытные пользователи оценили прирост производительности своей системы. Потому что дефрагментация диска при грамотной настройке позволяет улучшить быстродействие. Обычно все ставят этот процесс на использование его по расписанию. Например, раз в день, когда машина не используется. На серверах крупных компаний этот процесс выполняется на лету, когда идет непрерывное изменение файловой структуры.
Как привести систему в порядок
Во всех версиях Windows есть встроенная программа дефрагментации дисков. А начиная с версии Windows XP, она отличается стабильной и хорошей работой.
После этого откроется окно самой программы.
Когда система завершит анализ, то в строке «Прошлый запуск» появятся данные в процентах, которые характеризуют фрагментированность выбранного диска. Если они превышают значение в 10%, необходимо дефрагментировать диск.
Если перед анализом в разделе «Диск» нужный диск не отображается, значит в нем есть какая-то ошибка. Потребуется сначала его восстановить, потом снова запустить программу дефрагментации.
Кроме программных методов есть еще один — копирование. Всю информацию с выбранного диска надо скопировать на сторонний носитель, например, на переносной жесткий диск, а потом обратно. Тогда все данные перестанут быть фрагментированными. Кажется просто. Но есть проблемы:
Скорость дефрагментации
На продолжительность процесса влияет несколько факторов:
Также в силу того, что разные программы используют разные алгоритмы анализа, время и качество самого процесса тоже может существенно отличаться.
Не удастся провести дефрагментацию, если файловая система отлична от NTFS, FAT или FAT32.
Но с другой стороны, если процесс запущен, работу на компьютере можно не прерывать.
Итак, на полный цикл может потребоваться значительное время, так что лучше делать дефрагментацию диска по расписанию ночью, когда он не используется.
Вот, собственно, для чего нужна полная дефрагментация диска.
Частота запуска программы
В системе Windows 7 этот процесс уже изначально настроен на автоматический запуск по расписанию, который происходит раз в неделю. Пока пользователь спит, система сама дефрагментирует диск. Ну а если вычислительная машина используется для обработки большого потока данных, которые постоянно вносят изменения, то настройку можно выставить на ежедневный запуск.
Флешки и твердотельные (SSD) накопители
Такую операцию рекомендовано проводить с обычными жесткими дисками.
Для флэш-накопителей делать это вообще не рекомендуется. Так как при дефрагментации происходит большое количество циклов «запись/чтение», а для flash-памяти количество таких циклов жестко ограничено. Именно поэтому такой процесс может повлиять на срок службы флэшки, он уменьшится.
Нужно ли это делать с SSD-дисками. Так как и SSD-накопители основаны на той же технологии что и флэшки, такую операцию с ними лучше не проводить. А в Windows 7 уже предусмотрено автоматическое отключение дефрагментации, когда система распознает SSD-диск.
Если при анализе SSD-накопителя все же наблюдается большой процент фрагментированных файлов, то лучше будет поступить следующим образом:
Заключение
Теперь вы познакомились с таким «сложным» и непонятным процессом, как дефрагментация. Стало понятно, зачем она нужна системе, и как грамотно ее проводить. Не забывайте запускать этот процесс своевременно, а компьютер вам «скажет» только спасибо!
Видео по теме
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»

О том, что такое фрагментация, рассказывать не надо, это общеизвестно, в тоже время причины такого поведения файловой системы и особенности данного процесса остаются для многих неясными.
Сразу определимся, здесь и далее речь будет идти о файловой системе NTFS и Windows, так как в силу их большой распространенности с данной проблемой вы чаще всего будете сталкиваться на этой платформе.
Начнем с теории, как мы уже разбирали, скорость доступа к различным частям жесткого диска различна. Наибольшая с внешней стороны и наименьшая с внутренней. Поэтому диск размечается таким образом, чтобы начало раздела было как можно ближе к началу диска (внешней части). Файловая система в свою очередь стремиться писать файлы именно в начало раздела, чтобы обеспечить максимальную производительность. Минимальной адресуемой областью диска на уровне ФС является кластер, стандартный размер которого 4 Кб.
Рассмотрим следующую схему:

Теперь несколько иная ситуация. Перед тем как записать новый файл, мы удалим несколько старых и на их месте появятся свободные области (схема 3). Если теперь попробовать записать новый файл, то система начнет заполнять им свободные области от начала раздела, несмотря на то, что в его конце есть достаточно места, чтобы записать файл в один прием (схема 4). Эта особенность работы NTFS делает ее расположенной к фрагментации. Причем чем меньше по размеру были удаленные файла и чем больше их было, тем сильнее будет фрагментация.
Вторая особенность NTFS состоит в том, что 12% емкости раздела резервируется для зоны MFT, где хранится главная файловая таблица. Запись в эту зону запрещена, однако когда на томе кончается свободное место, то размер этой зоны сокращается вдвое, затем еще раз вдвое и так до тех пор, пока не будет заполнено все свободное пространство. При появлении свободного места размер зоны MFT восстанавливается.
Несложно понять, что заполненные более чем на 80% диски будут фрагментироваться с ужасающей скоростью, особенно если пользователь ведет борьбу за дисковое пространство, постоянно перемещая или удаляя ненужные файлы. Также практически невозможно выполнить дефрагментацию такого тома, так как нет достаточного свободного пространства. По факту попытка дефрагментации такого тома приведет к еще более сильной фрагментации.
Теперь попытаемся понять, хорошо это или плохо. С одной стороны, фрагментация это плохо, так как доступ к фрагментированному файлу превращается из последовательного в случайный, что влечет определенную потерю производительности. На практике не все так печально, так как характер работы дисковой подсистемы в современных системах носит преимущественно случайный характер, поэтому фрагментация до определенного предела практически не сказывается на производительности.
Больше всего от фрагментации страдают крупные файлы с последовательным характером доступа: видео, архивы, образы дисков и т.п., а также предусматривающие такой доступ операции, такие как копирование, перемещение, архивация.
Чтобы не быть голословными разберем несколько практических примеров.
Случай первый. Раздел на RAID 10 из «черных» WD для размещения виртуальных машин стал показывать сниженную производительность, которая проявлялась в более долгом запуске и переводе виртуальных машин в состоянии паузы при повышенной дисковой активности в этот момент. Экспресс-тест показал следующие скоростные показатели:

Случай второй. Терминальный сервер с размещенной на нем SQL-версией 1С:Предприятия 7.7, дисковый массив представляет из себя зеркало из двух «черных» WD, разбитый на три логических тома. Некоторое время назад на данном сервере произошла нештатная ситуация, что потребовало восстановления и, как следствие, записи на диски с последующим перемещением довольного большого количества данных.
Через некоторое время после этого стала проявляться крайне неудовлетворительная работа сервера на линейных дисковых операциях, вплоть до невозможности выполнить резервное копирование в течении разумного времени. Счетчики показывали крайне высокую нагрузку на диски: в среднем 350 IOPS, в пиках доходящую до 600, при длине очереди доходящей до 60. Тест производительности показал следующие результаты:

Примечательно, что к производительности 1С:Предприятия, в отличие от общей производительности сервера, вопросов в общем не возникало, что, учитывая характер нагрузки в SQL версии, как 80% чтение / 20% запись, вполне объяснимо с точки зрения полученных результатов.
Запуск утилиты дефрагментации показал, что два тома из трех имеют критический уровень фрагментации, а один из них еще и испытывает недостаток свободного места.
После того, как было немного расчищено дисковое пространство и проведена дефрагментация, скоростные параметры массива полностью пришли в норму и его работа нареканий больше не вызывала:

Также есть смысл делить пользовательские данные на используемые и архивные, вторые следует размещать на отдельном разделе, что позволит практически полностью избежать их фрагментации. Отсюда же проистекает целесообразность разносить данные и систему по разным физическим дискам, во первых начало раздела с данными будет ближе к началу диска, во вторых запас по IOPS позволит без потери производительности выдерживать более высокий уровень фрагментации.
Однако все обстоит несколько иначе. Ресурс современных SSD давно уже не вызывает каких-либо опасений по поводу «лишних» операций, даже если вы будете каждый день перезаписывать 100% ячеек SSD, ресурс диска будет исчерпан за 5-8 лет. Вы всерьез считаете что за это время ни разу не замените накопитель? К тому же статистика показывает, что основная масса отказов современных SSD никак не связана с ресурсом, на первом месте заводской брак и ошибки в прошивках.
Совсем иное дело SSD, скорость случайного доступа к произвольной ячейке памяти, вне зависимости от ее физического расположения, есть величина постоянная и понятие «начала» и «конца» диска для твердотельных накопителей весьма условно.
Кроме того есть еще один неочевидный момент, как мы уже говорили, файловая система NTFS стремиться размещать данные как можно ближе к началу раздела, в случае с SSD такой подход приведет к тому, что одни ячейки (в условном начале диска) будут вырабатывать свой ресурс быстрее, чем другие (в условном конце). Для того, чтобы выровнять износ современные контроллеры SSD используют технологию равномерного размещения данных по всему объему SSD, не меняя их логического расположения на разделе, т.е. по сути дополнительно фрагментируют данные.
Мы проиллюстрировали эту ситуацию на рисунке ниже:

В Windows 8 служба дефрагментации автоматически определяет SSD и, вместо выполнения собственно процесса дефрагментации, посылает ему дополнительный набор команд TRIM для повторной оптимизации. Хотя в первых выпусках Windows 8 был баг, который по умолчанию запускал на SSD обычную дефрагментацию.
Из всего вышесказанного можно сделать следующий вывод: дефрагментация конечно же снижает ресурс SSD, но не является чем-то критичным в этом отношении, но при этом данная процедура абсолютно бессмысленна с точки зрения логики размещения данных на твердотельных накопителях и поэтому от нее следует отказаться. В тоже время регулярная дефрагментация HDD является необходимым условием поддержания их производительности на должном уровне и должна входит в обязательные планы обслуживания.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:



















