55

Я слышал, что сжатие NTFS может снизить производительность из-за дополнительной загрузки ЦП, но я читал отчеты о том, что оно может фактически повысить производительность из-за уменьшения чтения с диска. Как именно сжатие NTFS влияет на производительность системы?

Заметки:

  • Я использую ноутбук с жестким диском на 5400 об / мин, и многие вещи, которые я делаю на нем, связаны с вводом / выводом.
  • Процессор AMD Phenom II с четырьмя ядрами, работающими на частоте 2,0 ГГц.
  • Система регулярно дефрагментируется с помощью UltraDefrag.
  • Рабочая нагрузка является смешанной для чтения и записи, причем чтение происходит несколько чаще, чем запись.
  • Сжатые файлы включают в себя выбранное подмножество личных документов (не полную домашнюю папку) и программ, в том числе несколько (менее требовательных) игр и Visual Studio (которая, как правило, связана с вводом / выводом чаще, чем нет).

7 ответов7

33

Я слышал, что сжатие NTFS может снизить производительность из-за дополнительной загрузки ЦП, но я читал отчеты о том, что оно может фактически повысить производительность из-за уменьшения чтения с диска.

Правильный. Предполагая, что ваш процессор, используя некоторый алгоритм сжатия, может сжимать со скоростью C MB/s и распаковывать со скоростью D MB/s, а ваш жесткий диск имеет скорость записи W и скорость чтения R. Пока C> W, вы получаете выигрыш в производительности, когда писать, и пока D> R, вы получаете прирост производительности при чтении. Это резкое предположение в случае записи, поскольку алгоритм Лемпеля-Зива (реализованный в программном обеспечении) имеет недетерминированную степень сжатия (хотя его можно ограничить ограниченным размером словаря).

Как именно сжатие NTFS влияет на производительность системы?

Ну, это точно, полагаясь на вышеупомянутые неравенства. Пока ваш ЦП может поддерживать скорость сжатия / распаковки выше скорости записи на жесткий диск, вы должны испытывать увеличение скорости. Однако это влияет на большие файлы, которые могут сильно фрагментироваться (из-за алгоритма) или вообще не сжиматься.

Это может быть связано с тем, что алгоритм Лемпеля-Зива замедляется по мере продолжения сжатия (поскольку словарь продолжает расти, требуя дополнительных сравнений по мере поступления битов). Декомпрессия почти всегда одинакова, независимо от размера файла, в алгоритме Лемпеля-Зива (поскольку к словарю можно обращаться только по схеме base + offset).

Сжатие также влияет на расположение файлов на диске. По умолчанию один "блок сжатия" в 16 раз больше размера кластера (так что большинству файловых систем NTFS кластера 4 КБ для хранения файлов требуется 64 КБ), но он не увеличивается больше 64 КБ. Однако это может повлиять на фрагментацию и требования к месту на диске.

И последнее замечание: задержка - еще одна интересная ценность обсуждения. Хотя фактическое время, необходимое для сжатия данных, приводит к задержке, когда тактовая частота процессора составляет гигагерц (т. Е. Каждый тактовый цикл меньше 1 нс), введенная задержка незначительна по сравнению с частотой поиска жесткого диска (которая находится на порядка миллисекунд или миллионов тактов).


Чтобы действительно увидеть, наберете ли вы скорость, есть несколько вещей, которые вы можете попробовать. Во-первых, для сравнения вашей системы с помощью алгоритма сжатия / декомпрессии на основе Lempel-Ziv. Если вы получите хорошие результаты (например, C> W и D> R), попробуйте включить сжатие на вашем диске.

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

TL, DR: Сжатие может быть жизнеспособным для файловой системы, использующей много небольших файлов, требующих высокой пропускной способности и низкой задержки. Большие файлы (и должны быть) не затронуты из-за проблем с производительностью и задержкой.

7

У вас довольно медленный диск, поэтому ваш вопрос имеет свои достоинства. NTFS-сжатие требует интенсивной работы процессора и настроено на скорость, а не на эффективность сжатия.

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

Конечно, вы увидите, что операции записи будут выполняться медленнее из-за дополнительного сжатия.

Копирование файлов на этот же диск NTFS требует распаковки и сжатия, поэтому они пострадают больше всего.

Сжатие NTFS также может значительно увеличить фрагментацию, но это не проблема для большинства «типичных» компьютеров при «типичных» рабочих нагрузках.

Многие типы файлов, такие как изображения JPEG или видео или файлы .zip, в основном несжимаемые, поэтому эти файлы будут работать медленнее и без экономии места.

Файлы размером менее одного дискового кластера (обычно 4 КБ) не сжимаются, так как нет усиления. Однако при сжатии всего объема иногда рекомендуется использовать кластер еще меньшего размера.

Сжатие NTFS рекомендуется для относительно статических томов или файлов. Никогда не рекомендуется для системных файлов или папки «Пользователи».

Но поскольку аппаратная конфигурация варьируется от одной модели компьютера к другой, в зависимости от диска, шины, ОЗУ и ЦП, только тестирование покажет, какое именно влияние сжатия будет на модель вашего компьютера.

4

Я объяснил это здесь, в записи в Википедии для NTFS:


NTFS может сжимать файлы, используя алгоритм LZNT1 (вариант LZ77 [23]). Файлы сжимаются в 16-кластерные блоки. С кластерами 4 КБ файлы сжимаются в блоки по 64 КБ. Если при сжатии данных уменьшается 64 КБ до 60 КБ или менее, NTFS обрабатывает ненужные страницы 4 КБ как пустые разреженные кластеры файлов - они не записываются. Это позволяет не чрезмерное время произвольного доступа. Однако большие сжимаемые файлы становятся сильно фрагментированными, так как каждый фрагмент размером 64 КБ становится меньшим фрагментом. [24] [25] Сжатие не рекомендуется Microsoft для файлов, размер которых превышает 30 МБ, из-за снижения производительности.

Лучше всего использовать сжатие для файлов, которые повторяются, пишутся редко, обычно к ним обращаются последовательно, а не сами по себе. Файлы журнала являются идеальным примером. Сжатие файлов размером менее 4 КБ или уже сжатых (например, .zip или .jpg или .avi) может сделать их больше и медленнее. [Цитата необходима] Пользователи должны избегать сжатия исполняемых файлов, таких как .exe и .dll (они могут быть выгружается на 4 кБ страницы). Сжатие системных файлов, используемых при загрузке, таких как драйверы, NTLDR, winload.exe или BOOTMGR, может помешать правильной загрузке системы. [26]

Хотя доступ для чтения-записи к сжатым файлам часто, но не всегда [27] прозрачен, Microsoft рекомендует избегать сжатия в серверных системах и / или сетевых ресурсах, содержащих перемещаемые профили, поскольку это создает значительную нагрузку на процессор. [28]

Однопользовательские системы с ограниченным пространством на жестком диске могут выиграть от сжатия NTFS для небольших файлов, от 4 до 64 КБ или более, в зависимости от сжимаемости. Файлы размером менее 900 байтов хранятся вместе с записью каталога в MFT. [29]

Самым медленным звеном в компьютере является не процессор, а скорость жесткого диска, поэтому сжатие NTFS позволяет лучше использовать ограниченное, медленное пространство хранения с точки зрения как места, так и (часто) скорости. [30] (Предполагается, что сжатые фрагменты файла хранятся последовательно.)


Я рекомендую сжатие только для файлов, которые сжимают до 64 КБ или меньше (то есть 1 часть). В противном случае ваш файл будет состоять из множества 64K или менее фракций.

MyDefrag лучше справляется с дефрагментацией.

1

Это замедлит работу. К сожалению, мы не можем точно измерить, насколько сильно или как мало это повлияет на вашу систему. Когда сжатый файл открывается, процессору требуется разархивировать его, чтобы система могла его использовать; когда вы закончите с этим и нажмете «Сохранить», он использует больше мощности процессора, чтобы снова сжать его. Только вы можете измерить производительность, хотя.

-1

Любой, кто видит это сегодня, должен знать, что в случае видеоигр, да, даже регулярно исправляемых, включение сжатия на диске или папке может уменьшить время загрузки, даже на более медленных современных процессорах и даже на ssd (кроме самые быстрые из них, которых нет у большинства), хотя вам нужно регулярно выполнять дефрагментацию, и я настоятельно рекомендую покупать идеальный диск, если вы используете его "Умную агрессивную" дефрагментацию, ПОСЛЕ сжатия, оставьте включенной функцию автоматического предотвращения франгментации, она будет следить на активность и автоматическую оптимизацию, чтобы избежать фрагментации, с минимальными или нулевыми ударами (testd это полностью назад к старым четверным поколениям первого поколения как amd, так и intel на современных окнах, недавно затронутых)

многие файлы игр сжимаются безумно хорошо, в некоторых играх есть файлы, которые занимают место на диске, несмотря на то, что они в основном пустые ... одна игра, которую я сжал некоторое время назад, выросла с 6 ГБ в одной из ее папок до менее 16 МБ ..... пошутил ... говорить о потраченном впустую пространстве и потраченном впустую вводе / выводе ....)

Некоторое время назад сжимал папку Steam приятеля, на сжатие потребовалось 4 дня (на накопителе 4 ТБ, и он запустился на 3/4), когда это было сделано… он использовал около 1/3 от общего объема накопителя, Дефрагментация заняла еще один день (но все началось с ужасной фрагментации, потому что он никогда не делал дефрагментацию, несмотря на это… несмотря на то, что на ней было много MMO… и куча игр Steam / Uplay / origin / etc…… )

НЕ сжимайте ваши папки с изображениями / изображениями, это не принесет никакой пользы, а просто замедлит доступ к ним на медленных системах (хотя даже на 1/2 достойной установке не заметит ...)

Я сжимал свои диски в каждой системе, так как nt4, НО, выборочно, я на самом деле распаковываю папки, где сжатие приносит больше вреда, чем пользы, это "лучшие практики", которые мы придумали еще в то время как геймеры, гики ». «ребята (раньше это был термин), и, если честно, это правда, я хотел бы, чтобы у них был более точно настроенный способ сжатия дисков / данных, был инструмент, который был не бесплатным, но доступным, что сделало вас намного лучше результаты сжатия без сжатия каких-либо данных, которые не должны быть сжаты ....

в любом случае, даже многие старые двухъядерные системы в целом выигрывают, если вы: 1. запустите ccleaner 2. запустите chkdsk /f из командной строки с повышенными правами (введите y, затем перезагрузите компьютер и дайте ему выполнить проверку)3. сожмите диск. 4. Дефрагментируйте с mydefrag или лучше, идеальный диск, это займет время. 5. Измените все папки, содержащие большие файлы или изображения / другой контент, который плохо сжимается / вообще, распакуйте папку или только файлы, мой опыт здесь, вам редко приходится дефрагментировать после этой части процесса, но лучше всего проверять.

Я понимаю, почему некоторые люди против сжатия, но, протестировав его при правильном использовании, ssd или hdd, и особенно медленные старые hdd и ssd, сжатие при правильном использовании может серьезно помочь не только сэкономить место, но и производительность, даже большинству старых двойных Ядра могут справляться со средними циклами сжатия / распаковки быстрее, чем диск в этих системах может двигаться, проверив это, первое поколение и более дешевые ssd более старого дизайна, могут извлечь выгоду из сжатия, не так много, как более медленные жесткие диски в большинстве случаев, но приятель есть нетбук, в котором есть ОЧЕНЬ медленный, трудно заменить ssd в нем, а также гораздо проще заменить легко доступный ssd-слот, но глупая вещь НЕ МОЖЕТ загружаться с добавленного ssd без физического удаления другого ssd ... (ужасный биос, но ... для того, что это за устройство, оно действительно красивое, более мощное, чем кажется ... за пределами медленного ssd, установленного таким образом, что вам нужно разобрать все это, чтобы добраться до него ... ...), сжимая этот диск и просто имея окна и самые основные f-приложения (например, офисные) на медленном ssd фактически ускорили его, даже в режиме чтения / записи, потому что его процессор в конечном итоге ждет чертового ssd..it, но быстрее, чем он установил ... я предложил просто поставить загрузчик на внутреннем ssd и операционная система на добавленных но .. он надеется в конечном итоге убить глупость, используя большую часть этого для файла подкачки .... (его 128 ГБ, но, черт возьми, медленно, как у меня есть флешки usb3 что лучше напиши спидс .... что стоило все в продаже на newegg / amazon ......)

я настоятельно рекомендую сжать, по крайней мере, диск / папку с вашими играми ... Боже мой, что может сделать даже на быстрых системах !!!

-2

Windows сжимает недавно использованные данные в ОЗУ, причем даже твердотельные накопители составляют небольшую долю скорости, и я думаю, что снижение производительности не является проблемой. Меня больше беспокоит сжатые блоки, которые развивают 1-2-битную ошибку и не могут восстановить некоторые или все данные ... или словарную ошибку в худшем случае. Все, что создает диск, который не читается в альтернативных ОС и потенциально снижает надежность, не стоит той дополнительной скорости, которую оно (возможно) может принести, ИМХО. Файлы текстурного пакета видеоигр и тому подобное обычно уже сжаты, поэтому я не вижу, как наложение другого набора сжатия улучшит ситуацию. Я хотел бы видеть ОС, которая поддерживает маркировку файлов как линейную разметку на геометрии диска, чтобы случайное ч / б не использовалось. Это ускоряет работу даже на SSD для определенных случаев использования. Моя другая проблема со сжатием состоит в том, что, поскольку изображения и фильмы уже сжаты, как и документы MS Office и множество других форматов, вы застряли, помечая файлы как сжимаемые и управляя ими. Для дерева исходных текстов Linux или большого проекта с открытым исходным кодом это может очень помочь, так как сжатие обычно оптимально для текстовых файлов.

-2

Сжатие Microsoft Windows NTFS не должно использоваться ни для чего, кроме файлов журналов или, вообще говоря, текстовых файлов или других файлов с высокой степенью сжатия.

Учтите это: исторически я видел, как производительность сжатия файлов зависала на 20-25 МБ / с. Это нормальная скорость для архивирования файла с одним процессором 2,4-3,0 ГГц. Сжатие NTFS не является многопоточным. Это огромная проблема!

Рассмотрим приличную скорость для жесткого диска в наше время 100 МБ / с. Если вы не используете сжатие в 4-5 раз, вы теряете производительность как в чтении, так и в письме. Это то, что происходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .