Як компресія NTFS впливає на продуктивність?


57

Я чув, що стиснення NTFS може знизити продуктивність завдяки додатковому використанню процесора, але я читав повідомлення про те, що він може фактично підвищити продуктивність через зменшене читання диска. Як саме компресія NTFS впливає на продуктивність системи?

Примітки:

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

12
Я думаю, що єдино правильна відповідь - "виміряйте це у вашій системі".
Мехрдад

Я думаю, це має залишатися загальним питанням. Процесор швидше, ніж Memory. У наш час. Припустимо, що. Про виставу? Не маю ідеї, але мені теж цікаво.
Apache

1
Яка це система? скільки у вас ядер? Будучи процесором інтенсивним, у вас буде трохи більше додаткового процесора щодо швидкості жорсткого диска для операцій, які ви збираєтеся робити? Вплив на споживання енергії та темп. Стисливість даних. скільки читається і скільки пише? Стиснення його для початку відбувається повільно, але його читання назад (залежно) повинно бути швидшим за допомогою легко виміряних сум.
Psycogeek

Пов’язані (але з дещо іншими обставинами; характерні для папки з багатьма значками): superuser.com/questions/38605/…
bwDraco

1
До речі, можна спробувати - це defrag. Я чула чудеса про UltimateDefrag, але ніколи не пробувала цього. (Серед Diskeeper і PerfectDisk я використовую останні, оскільки Diskeeper перестав випускати нові версії тощо)
Apache,

Відповіді:


36

Я чув, що стиснення NTFS може знизити продуктивність завдяки додатковому використанню процесора, але я читав повідомлення про те, що він може фактично підвищити продуктивність через зменшене читання диска.

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

Як саме компресія NTFS впливає на продуктивність системи?

Ну, саме покладаючись на вищезазначені нерівності. Поки ваш процесор може підтримувати швидкість стиснення / декомпресії вище швидкості запису на жорсткому диску, ви повинні відчути збільшення швидкості. Однак це впливає на великі файли, які можуть відчувати сильну фрагментацію (завдяки алгоритму) або взагалі не стискатися .

Це може бути пов’язано з тим, що алгоритм Lempel-Ziv сповільнюється, коли компресія рухається далі (оскільки словник продовжує зростати, вимагаючи більше порівнянь із надходженням бітів). Декомпресія майже завжди є однаковою швидкістю, незалежно від розміру файлу, в алгоритмі Lempel-Ziv (оскільки зі словником можна просто вирішувати за допомогою базової + схеми зміщення).

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

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


Щоб насправді побачити, чи відчуєте ви швидкість, ви можете спробувати кілька речей. Перший - це порівняння вашої системи за допомогою алгоритму стиснення / декомпресії на основі Lempel-Ziv. Якщо ви отримаєте хороші результати (наприклад, C> W і D> R), вам слід спробувати включити компресію на диску.

Звідти ви можете зробити більше орієнтирів щодо фактичної продуктивності жорсткого диска. По-справжньому важливим орієнтиром (у вашому випадку) було б побачити, як швидко завантажуються ваші ігри, і побачити, наскільки швидко збираються проекти Visual Studio.

TL, DR: Стиснення може бути життєздатним для файлової системи, що використовує багато невеликих файлів, що вимагають високої пропускної здатності та низької затримки. Великі файли не впливають на продуктивність та затримку.


Чи можете ви пов’язати якісь хороші орієнтири / декомпресії на основі алгоритму стиснення / декомпресії на основі Lempel-Ziv?
користувач1075375

Фрагментація, яку створює стиснення NTFS (і додається при зміні файлу), легко зніме будь-яке підвищення продуктивності. Якщо у вас дуже стислий набір даних, який не змінюватиметься часто, і ви дефрагментуєтесь після стиснення, це може бути чистим прирістом. Модифікація після стиснення спричинить неприємну фрагментацію. Re: орієнтири: навіть повільні процесори сьогодні швидкі на LZ. Проблема фрагментації на сьогодні є найбільшою проблемою. Це класичний випадок, коли оптимізація корисна лише в обмежених контекстах. Вибирайте, що NTFS стискати дуже обережно, і це буде загальний виграш.
Джоді Лі Брюшон

1
А як щодо SSD?
Фіолетова жирафа

Як я міг виміряти C, D, W і R?
Геремія

Я вдячний за типовими практичними прикладами для цих абстракцій "C> W і D> R"? Чи вигідно, наприклад, стискати "Програмні файли" та / або "Windows" на 4-ядерному ноутбуці з жорстким диском? а з SSD? Чи істотно вплине споживання батареї?
kxr

7

У вас досить повільний диск, тому ваше питання має повагу. Стиснення NTFS є інтенсивним процесором і налаштоване на швидкість, а не на ефективність стиснення.

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

Звичайно, ви побачите, що операції запису будуть повільнішими через додаткове стиснення.

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

Стиснення NTFS також може значно збільшити фрагментацію, але це не є проблемою для більшості "типових" комп'ютерів при "типових" робочих навантаженнях.

Багато файлів, наприклад, JPEG-зображення або відео або .zip файли, в основному нестискаються, тому ці файли будуть використовуватись повільніше і без жодного місця.

Файли менше одного кластерного диска (як правило, 4K) не стискаються, оскільки посилення немає. Однак, навіть менший розмір кластера іноді рекомендується стискати весь обсяг.

Стиснення NTFS рекомендується для відносно статичних томів або файлів. Це ніколи не рекомендується для системних файлів або папки Користувачі.

Але оскільки конфігурація обладнання залежить від моделі комп'ютера до іншої, залежно від диска, шини, оперативної пам’яті та процесора, лише тестування покаже, який точний ефект стиснення буде на вашій моделі комп'ютера.


5

Я пояснив це тут, у статті Вікіпедії для 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 штука). В іншому випадку ваш файл буде складатися з багатьох фракцій 64 Кб або менше.

MyDefrag робить кращу роботу з дефрагментації.


Мій досвід роботи з UltraDefrag полягає в тому, що вона робить гідну роботу, даючи більш повну дефрагментацію, ніж вбудований дефрагментатор Windows, але, наскільки я знаю, він не такий розумний, як MyDefrag. Я використовую версію бета версії 6, яка має кілька помилок та бездоганних функцій, але набагато швидша, ніж попередні версії.
bwDraco

1

Це зробить операції повільніше. На жаль, ми не можемо точно виміряти, наскільки та наскільки це вплине на вашу систему. Коли файл, що стискається, відкривається, для розпакування файлу потрібна потужність процесора, щоб система могла ним користуватися; коли ви закінчите з ним і натисніть кнопку Зберегти, він знову використовує більше потужності процесора для стиснення. Тільки ви можете виміряти продуктивність, хоча.


4
Я думаю, ви пропустили всю точку запитання. Існує компроміс між тим, що потрібно більше часу для стискання / стискання даних та меншим часом для зчитування даних з диска (завдяки читанню менше даних). Тож ваше твердження не гарантоване. Очевидний приклад, коли стиснення легко може бути виграшним, коли ви читаєте мережеву файлову систему. З локальною файловою системою менш зрозуміло, але не гарантовано йти тим чи іншим способом.
jjlin

@jjlin У вас є приклади, коли це швидше?
Канадський Люк ВІДНОВЛЕНО МОНИЦА

@Luke припустимо, що ваш процесор, використовуючи деякий алгоритм стиснення, може стискати при C MB / s і розтискати при D MB / s, а ваш жорсткий диск має швидкість запису W і швидкість читання R. Поки C> W, ви отримуєте a підвищення продуктивності при написанні, і поки D> R, ви отримуєте підвищення продуктивності під час читання.
Прорив

@Luke - це швидше при використанні його на повільних накопичувачах, як, наприклад, старі драйвери IDE або накопичувачі USB 1.0.
kurast

-1

кожен, хто бачить це сьогодні, повинен знати, що у випадку з відеоіграми, так, навіть, регулярно виправлені, що дозволяє стиснути диск або папку, може зменшити час завантаження, навіть на більш повільному процесорі сьогодні, і навіть на ssd (інше, ніж найшвидші ті, у яких у більшості людей немає), хоча вам потрібно дефрагментувати регулярно, і я настійно рекомендую купувати ідеальний диск, як тільки ви користуєтесь його "розумним агресивним" дефрагментом, ПІСЛЯ стиснення, залиште його функцію автоматичного запобігання фрагментації, вона буде тримати огляд на активність та автоматичну оптимізацію, щоб уникнути фрагментації, дуже мало, щоб не потрапити на перф (тестуйте це повністю до старих квадроциклів першого покоління amd та Intel на сучасних вікнах, недавно інфактних)

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

Нещодавно стиснув папку з парою приятелів, на стиснення пішло 4 дні (його на 4-футовому накопичувачі, і він запустився на 3/4), коли це було зроблено .... він використовував близько 1/3 всього диска, Дефраг зайняв ще один день (але він розпочався жахливо фрагментарним, тому що він ніколи не робив дефрагменти на ньому, ніколи .. не маючи на ньому багатомобільних модулів ... і тріски на пару / накладки / походження / тощо. ігри на ньому ... )

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

я стискав свої накопичувачі в кожній системі, оскільки nt4, АЛЕ вибірково, я фактично декомпресую папки, де стискання приносить більше шкоди, ніж користі, його "найкращі практики", які ми придумали ще в той час, як геймери, вун, " "Хлопці (раніше це був термін), і, це залишилося правдою, чесно, я б хотів, щоб у них був більш тонкий налаштований спосіб стискання накопичувачів / даних, там використовується інструмент, який не був вільним, але доступним, що отримало вас набагато краще результати стиснення без стискання даних, які не слід стискати ....

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

Я розумію, чому деякі люди проти стиснення, але, перевіривши його при правильному використанні, ssd або hdd, а особливо повільних старих hdd і ssd, стиснення при правильному використанні може серйозно допомогти не тільки заощадити простір, але і продуктивність, навіть більш старший подвійний сердечники можуть швидше справлятися із середніми циклами стиснення / декомпресії, ніж накопичувач у цих системах може рухатися, випробувавши це, перший ген та дешевший ssd-дизайн, може отримати вигоду від стиснення, не стільки, як повільніший hdd в більшості випадків, але, приятель має нетбук, у якого ДУЖЕ повільно, важко замінити ssd, а також набагато легше замінити простий доступ до слота ssd, але, дурне, що НЕ МОЖНА завантажувати з доданого ssd, не видаляючи іншого фізично ... (жахливий біос, але ... для того, що таке одиниця, її насправді приємно, потужніше, ніж це виглядає ..поза таким повільним ssd, встановленим таким чином, ви повинні взяти все це, крім того, щоб дістатися до нього ......), стискаючи цей диск і просто маючи вікна та найосновніші програми (наприклад, офіс) на повільному ssd насправді пришвидшив його навіть у режимі читання / запису, тому що його процесор насправді закінчує очікування чортового ssd..it dosnt на швидший той, який він перекреслив ... я запропонував просто поставити завантажувач на внутрішній ssd та os на доданому, але ... він сподівається врешті-решт убити тупий предмет, використовуючи більшу частину його для файлу сторінки .... (його 128 Гб, але, безбожно повільно, як у мене є флеш-накопичувачі usb3, які краще записують швидкості .... які коштують у продажу на Newegg / Amazon ......)стискаючи цей диск і просто маючи вікна та найосновніші програми (наприклад, офісні) на повільному ssd, насправді пришвидшив його навіть у режимі читання / запису, оскільки його процесор насправді закінчує очікування проклятого ssd..it dosnt швидше один він перекреслив ... Я запропонував просто поставити завантажувач на внутрішній ssd і os на доданий, але .. він сподівався врешті-решт убити тупий предмет, використовуючи більшість його для файлу сторінки .... (його 128 Гб але, нечестиво повільний, як у мене флеш-накопичувачі usb3, які краще записують швидкості .... що коштувало всього у продажу в newegg / amazon ......)стискаючи цей диск і просто маючи вікна та найосновніші програми (наприклад, офісні) на повільному ssd, насправді пришвидшив його навіть у режимі читання / запису, оскільки його процесор насправді закінчує очікування проклятого ssd..it dosnt швидше один він перекреслив ... Я запропонував просто поставити завантажувач на внутрішній ssd і os на доданий, але .. він сподівався врешті-решт убити тупий предмет, використовуючи більшість його для файлу сторінки .... (його 128 Гб але, нечестиво повільний, як у мене флеш-накопичувачі usb3, які краще записують швидкості .... що коштувало всього у продажу в newegg / amazon ......)Хес сподівається врешті-решт убити тупий предмет, використовуючи більшість його для файлу сторінки .... (його 128 Гб, але, нечестиво повільний, як у мене є флешки usb3, які краще записують швидкості .... що коштувало всіх у продажу на newegg / amazon ......)Хес сподівається врешті-решт убити тупий предмет, використовуючи більшість його для файлу сторінки .... (його 128 Гб, але, нечестиво повільний, як у мене є флеш-накопичувачі usb3, які краще пишуть швидкості .... що коштувало всіх у продажу на newegg / amazon ......)

Я НАЙКРАЩО пропоную стиснути принаймні свій диск / папку для ігор ... мій боже, що це може зробити навіть на швидких системах !!!


Більшість ігор вже стискають свої дані, які далі неможливо стиснути
М.казем Ахгарі

-2

Windows стискає недавно використані дані в оперативній пам’яті, навіть SSD-диски є часткою швидкості, я б здогадався, що показник ефективності - це не проблема. Мене більше турбують стислі блоки, які розвивають 1-2-бітну помилку і не можуть відновити деякі чи всі дані ... або помилка словника в гіршому випадку. Все, що виробляє диск, який не можна прочитати на альтернативних ОС і, що потенційно знижує надійність, не варто додаткової швидкості, яку він (можливо) може принести, IMHO. Файли текстурних файлів для відеоігор, як правило, уже стиснуті, тому я не бачу, як багатошаровий набір стиснення покращить ситуацію. Я хотів би бачити ОС, яка підтримує маркування файлів як лінійної компонування на геометрії диска, тому випадкові r / w не використовуються. Це прискорює роботу навіть на SSD для певних випадків використання. Моя інша проблема стиснення полягає в тому, що, оскільки зображення та фільми вже стиснуті, як і документи MS Office та тони інших форматів, ви застрягли в маркуванні файлів як стисливих, так і керуючи ними. Для дерева-джерела Linux або великого проекту з відкритим кодом це може допомогти дуже багато, оскільки стиснення зазвичай є оптимальним для текстових файлів.


1
Для уточнення лінійної геометрії головним чином допоможуть жорсткі диски та файли розміром понад 500 Мб. Я працював з TIFF-файлами на 500 ГБ раніше, але це мало б користь при завантаженні. Windows намагається це зробити, але це залежить від регулярної дефрагментації диска та належного розміру кластера, який може не бути оптимальним для інших програм. Щоб обійти цей безлад, я використовую SSD для завантаження, накопичувач на 2 ТБ для музичних / кінопроектів, ще 2 ТБ для файлів RAW від DSLR та 4 ТБ, який зберігає величезну кількість вихідного коду, який я міг би стиснути для досить великого прибутку в простір.
Густі МакГуестерсон

1
В ідеалі я хотів би, щоб другий SSD був лише для "програмних файлів", щоб обмежити суперечки між системними файлами та тими, але Windows, як правило, не дозволяє спроби встановити це через кілька тижнів. Я можу зробити D: \ програмні файли чи що завгодно, але занадто багато програм важко кодують, щоб гадати на системному диску буквально скрізь.
Guesty McGuesterson

-2

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

Врахуйте це: історично я бачив продуктивність стиснення файлів, що застрягла на рівні 20-25 Мбіт / с. Це нормальна швидкість зіштовхування файлу одним процесором 2,4-3,0 ГГц. Стиснення NTFS не є багатопоточним. Це величезна проблема!

Вважайте, що гідна швидкість для жорсткого диска в даний час становить 100 Мбіт / с. Якщо у вас не виходить 4-5-кратне стиснення, ви масово втрачаєте продуктивність як у читанні, так і в письмовій формі. Це те, що відбувається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.