Больше ёмкости с помощью NTFS-сжатия
Как энтузиасты, мы часто сталкиваемся с различными препятствиями на пути поддержания баланса между производительностью и затратами. Новые процессоры, видеокарты, наборы памяти, источники питания и производительность накопителя потенциально являются узким местом в этом балансе. К счастью ёмкость – не такая большая проблема. Даже жёсткие диски 2.5″ предлагают более 750 Гбайт, что для большинства пользователей более чем достаточно. Несмотря на попытки Microsoft увеличить размер установки Windows, у вас всё равно остаётся масса свободного места для музыки, фильмов, игр и фотографий. Конечно, если говорить о разрушении барьеров, то всегда можно использовать приводы 3.5″, ёмкость которых сегодня может достигать нескольких терабайт.
До недавнего наводнения в Таиланде, которое сильно повлияло на поставки жёстких дисков, можно было приобрести их объёмом 2 Тбайт по цене около $80 (в зависимости от модели и производителя). Обычным пользователям такой объём может показаться излишним, хотя те, у кого есть большая коллекция фильмов, заполнят его довольно быстро. Как бы то ни было, вопрос нехватки места у пользователей с большими накопителями возникает редко.
Однако, для любителей твердотельной технологии ситуация несколько иная. Такие накопители гораздо проще заполнить данными. По сравнению с механическими приводами, они предлагают намного меньше объёма, делая ценным каждый гигабайт. По сути, каждый гигабайт твердотельного накопителя буквально стоит дороже, поскольку за него придётся заплатить больше чем $1, а стоимость гигабайта обычного накопителя измеряется в центах.
Маленькие SSD объёмом меньше 60 Гбайт заполняются практически сразу после установки Windows, набора Office и важных программ. Проблема малой ёмкости осложняется тем, что алгоритм “выравнивания” износа работает не так эффективно, когда привод полностью заполнен. Вот почему мы часто рекомендуем использовать SSD для чувствительной к производительности информации и жёсткие диски для остальных данных.
Сегодня наше внимание будет обращено на плюсы и минусы решения, которое Microsoft предлагает в своей ОС: функция сжатия файловой системы NTFS. Для работы её нужно только включить, что довольно удобно. Но что ещё стоит знать об этой функции?
Наша тестовая лаборатория постарается ответить на следующие вопросы: как включить сжатие данных, что конкретно сжимается и каким образом данная функция влияет на производительность SSD?
Системе NTFS 19 лет
Вместо ранее используемой системы FAT (FileAllocationTable), разработчик представил файловую систему NT, которая имело несколько заметных преимуществ. Например, компания Microsoft подняла предел количества символов в имени файла 8+3, оставшийся со времен DOS. В отличие от FAT, который позволял вводить только латинские символы для названий файлов, NTFS позволял вводить до 256 знаков набора Unicode. Это также поддерживалось системой FAT32, которая сменила FAT и была представлена в Windows 95b в 1997 году. Однако, обновлению тоже было тяжело конкурировать с NTFS.
В конце концов, NTFS дала и другие полезные функции, такие как журналирование, которое записывало все незаконченные изменения файлов в так называемый журнал, на зарезервированное место перед их непосредственным выполнением. Это позволило быстро восстанавливать данные из разделов NTFS, если операции записи прерывались сбоем системы или отключением энергии. NTFS также использует разграничение доступа к файлам и папкам, квотирование, шифруемые области диска и квоты для пользователей, а способности сжатия данных будут протестированы сегодня. Прежде, чем вы активируете её, мы хотим предупредить вас о том, как эта функция работает и каким образом она повлияет на вашу систему.
Сжатие NTFS
NTFS использует алгоритм LZNT1 (версия LZ77) для сжатия данных без потерь и кластеры по 4096 байт для хранения данных. Система сжимает выходные данные блоками по 16 кластеров с шагом 64 кбайт. Если система не может сжать выходные данные из 16 кластеров в меньший размер, NTFS оставляет их неизменными. Если алгоритм LZNT1 может сжать блок данных 64 кбайт в 60 кбайт или меньше, освобождая при этом хотя бы один кластер, этот освобождённый кластер рассматривается как “разреженный” файл. NTFS игнорирует те части файла, которые не содержат информации или имеют объём 0 байт. Следовательно сжатый файл может состоять из сжатых и несжатых кластеров, а также из “разреженных” кластеров.
В схему сжатия включаются любые файлы, но как и любые другие типы сжатия файлов, алгоритм LZNT1 не эффективен при сжатие файлов, которые уже сжаты, типа JPG, AVI и ZIP. Сжатие производится на уровне файловой системы, поэтому оно не видно на уровне приложений. Чем дольше работает Windows и его приложения, тем меньше разница между сжатыми и не сжатыми файлами.
Преимущества: очевидно, что наибольшее преимущество NTFS-сжатия – это экономия свободного места. Владельцы небольших SSD будут особенно рады каждому дополнительному мегабайту. Увеличение сжатия и уменьшение размера фала должно увеличить скорость чтения и записи (по крайней мере в теории, так как меньше данных записывается и читается).
Недостатки: согласно Microsoft, NTFS-сжатие сильно нагружает CPU, и не рекомендуется для использования в серверах, содержащих большие тома для чтения и записи. Есть запреты даже для домашнего использования. Сжатие стоит использовать для папок с относительно редкой записью и чтением. Что ещё более важно, не сжимайте системную папку Windows. Также, в теории, операции копирования должны происходить медленнее, потому как файловая система сначала распаковывает нужный файл, копирует или перемещает его и затем снова сжимает. Если послать такие файлы по сети, они тоже сначала распакуются и как следствие не сэкономят трафик.
Стоит отметить ещё один фактор: NTFS-сжатие сегментами по 64 кбайт сильно фрагментирует данные, особенно легко сжимаемые файлы, так как они будут связаны с “разреженными” кластерами. Это легко показать на примере: по данным Microsoft, в среднем, NTFS-сжатие блоками данных по 64 кбайт генерирует один “разреженный” кластер. Деление файловой системы объёмом 20 Гбайт на сегменты по 64 кбайт генерирует 327 680 “разреженных” кластеров. Это особенно актуально для жёстких дисков, твердотельные накопители страдают меньше, потому что их время доступа настолько низкое, что фрагментация не является для них большой проблемой.
Конфигурация и тесты
Как сильно NTFS-сжатие влияет на производительность системы, оснащённой SSD? Мы уже знаем, что технология SandForce использует сжатие, чтобы получить высокие результаты, поэтому мы хотим опробовать привод, который не опирается на сжатие. Мы взяли один из новых приводов Samsung 830 серии и сравнили его производительность при включенном и выключенном сжатии.
Тестовая конфигурация | |
CPU | Intel Core i5-2500K (32-нм, Sandy Bridge, D2), 4C/4T, 3.3 ГГц, кэш L2 4 x 256 кбайт, 6 Мбайт общего кэша L3, w/ HD Graphics 3000, 95 Вт TDP, 3.7 ГГц max. Turbo Boost |
Материнская плата (LGA 1155) | Gigabyte Z68X-UD7-B3, ревизия: 1.0, чипсет Intel Z68, BIOS: F9C |
Память | 2 x 4 Гбайт DDR3-1333, Kingston KHX1600C9D3K2/8GX |
Системный SSD | Samsung SSD 830, 256 Гбайт, SATA 6 Гбит/с |
Контроллер | Intel PCH Z68 SATA 6 Гбит/с |
Блок питания | Seasonic X-760 760 Вт, SS-760KM |
Тесты | |
Измерение производительности | SYSmark 2012 PCMark 7 1.0.4 |
ПО и драйверы | |
Операционная система | Windows 7 x64 Ultimate SP1 |
Intel Rapid Storage | 10.6.0.1002 |
Intel Inf | 9.2.0.1030 |
AMD Catalyst | 11.8 |
NTFS-сжатие на практике
NTFS-сжатие включается всего несколькими кликами. В Windows Explorer откройте контекстное меню для любого привода или папки, выберите свойства и в следующем окне выберите опцию “сжать этот диск для экономии места” (“Compress this drive to save disk space”) или “сжимать содержимое для экономии места на диске” (“Compress contents to save disk space”). Всё можно вернуть просто отменив опцию.
После выбора тома или папки, процесс сжатия начнётся автоматически в фоновом режиме. Windows доложит об ошибке, когда файл нельзя сжать. Затем вам надо будет выбрать: попытаться снова сжать файл (что снова приведёт к той же ошибке), отменить либо проигнорировать сообщение. Из-за большого количества ошибок при сжатии раздела, мы решили выбрать четвёртый вариант: игнорировать все последующие ошибки. Частота таких сообщений зависит от выбранной папки. Для папки Windows и её подпапок они возникают очень часто, показывая, что системные файлы не подвергаются NTFS-сжатию.
После того, как NTFS-сжатие закончено, сжатый файл отображается синим цветом, поэтому его легко отличить от несжатых файлов и папок.
Несжатые приложения, установленные на наш тестовый SSD занимали 70.9 Гбайт дискового пространства. Вместо того, чтобы выбрать отдельные папки, мы сжали сразу целый раздел, таким образом, занимаемое пространство сократилось до 58.4 Гбайт (минус 17.8%), освободив 12.5 Гбайт всего за пару кликов мышкой.
Если сравнивать плотность NTFS-сжатия с другими инструментами, то она оказывается довольно низкой, что, в свою очередь, положительно влияет на нагрузку процессора. Такие инструменты, как 7-Zip ведут себя более агрессивно, чтобы достичь высокого коэффициента сжатия. Для примера, в таблице ниже показана степень сжатия трёх папок с помощью 7-Zip.
Инструмент сжатия | Папка | Первоначальный размер | Размер после сжатия | Разница в процентах |
7-Zip | Program Files (x86) | 17.4 Гбайт | 10.2 Гбайт | 40.30% |
7-Zip | Program Files | 8.5 Гбайт | 3.1 Гбайт | 63.50% |
7-Zip | Windows | 15.1 Гбайт | 3.2 Гбайт | 78.80% |
NTFS-сжатие | Весь привод | 70.9 Гбайт | 58.4 Гбайт | 17.60% |
Последовательная чтение/запись (CrystalDiskMark)
С включенным NTFS-сжатием производительность привода Samsung в последовательном чтении данных немного ухудшается. Однако, потеря в записи очевидна. В результате фрагментация во время сжатия из-за “разреженных” кластеров не сильно повлияла на производительность, хотя разница заметна.
Случайное чтение/запись по 4 кбайт (CrystalDiskMark)
Переключение на NTFS-сжатие никак не влияет на данный процесс.
Случайное чтение/запись по 512 кбайт (CrystalDiskMark)
NTFS-сжатие обеспечивает существенное увеличение производительности при случайной записи блоков по 512 кбайт. Однако, в операциях чтения улучшение едва заметно.
Запуск приложений, старт и выключение Windows
В среднем, NTFS-сжатие добавляет одну секунду к времени запуска программ.
Хотя загрузка Windows с включенным NTFS-сжатием происходит слегка быстрее, процесс выключения системы занимает намного больше времени, добавляя около четырёх секунд.
PCMark 7
PCMark 7 подтверждает, что включение NTFS-сжатия ведёт к увеличению скорости работы в играх и при загрузке приложений, но почти во всех остальных дисциплинах лидерство либо мало, по сравнению с не сжатым системным приводом, либо результаты ниже. Следовательно, общий результат не даёт полной картины.
SYSmark 2012
Тестовый набор приложений BAPCo SYSmark 2012 также показывает нейтральный эффект NTFS-сжатия, хотя результаты указывают немного в пользу конфигурации без сжатия.
Стоит ли сжимать данные на вашем SSD?
Активация NTFS-сжатия даёт результат на высокопроизводительных компьютерах с быстрым многоядерным процессором, потому что так можно выжать больше пространства на SSD без значительной потери производительности. Сравнение с мощными инструментами, типа 7-Zip показало, что NTFS-сжатие ведёт себя менее агрессивно и исключает важные системные файлы Windows. Таким образом, оно не спроектировано для того, чтобы максимально сжать любую доступную информацию.
Но именно такой подход вызывает умеренную нагрузку процессора. Пользователи современных двух и четырёхядерных CPU, скорее всего, не заметят дополнительной нагрузки от включенной функции сжатия. Но из-за низкопроизводительной природы ноутбуков мы не можем обещать, что также будет и на мобильных системах. В зависимости от оборудования, сжатие может влиять как на скорость работы системы, так и на скорость разрядки батареи из-за повышенной нагрузки на процессор.
У инструментов восстановления не должно возникнуть проблем со сжатием, поскольку функция имеется в NTFS уже более десяти лет и следовательно хорошо известна разработчикам программ. Мы не можем дать вам всеобъемлющую информацию, но мы без проблем запустили бэкап сжатых разделов с помощью Acronis TrueImage Home 2011.
Несмотря на умеренные темпы, NTFS-сжатие действительно высвобождает немного свободного пространства, так необходимого на SSD. На нашей тестовой системе оно подарило нам целых 12.5 Гбайт. А это немало, особенно для небольших SSD. Если говорить только об SSD на 60 и 100 Гбайт, 10 Гбайт – это много. Владельцы объёмных SSD тоже следует задуматься об NTFS-сжатии. Тем более, если у вас достаточно быстрый процессор, нет причин не включить её.
Количество высвобождаемого места зависит от типа данных, которые вы сжимаете. Большинство медиафайлов уже сжаты, так что многого вы от них не получите. Однако, сжатие таких файлов как журналы серверов и файлы Excel освободит немало пространства на приводе.
Стоит отметить ещё кое-что. Информация, сжимаемая на лету, требует больше циклов записи на SSD, чем не сжатая. Это может негативно повлиять на долговечность привода. Мы не говорим о больших SSD, напротив, модели с меньшим объёмом памяти имеют более низкий уровень долговечности. Таким образом, NTFS-сжатие может значительно повлиять на их срок службы.