Ніхто не говорить про проблему мера на не SSD, це фрагментація.
Кожен блок 64KiB пишеться там, де він був би без стиснення, але його можна стиснути, так що принаймні <= 60KiB, тоді він пише менше 64KiB, бітовий гніздовий блок піде туди, де як би попередній не був компрес, тому багато прогалин.
Перевірте його за допомогою гігабайтного файлу віртуальної машини будь-якої системи Windows (вони, як правило, зменшуються на 50%, але з величезними> 10000 фрагментами).
А для SSD є щось не сказане, як на біса це пишуть? Я маю на увазі, якщо вона пише її нестиснутою, а потім перезаписує її стисненою версією (для кожного 64-мегабайтних мегаблоків), термін служби SSD дуже скорочується; але якщо він записує його безпосередньо у стиснутому вигляді, тоді живий SSD може бути довший або коротший .... довше, якщо ви пишете, що 64KiB лише відразу, коротше, на багато годин коротше, якщо ви пишете, що 64KiB в 4KiB, тому що він буде писати такі 64KiB (у стисненому вигляді) стільки разів, скільки 64/4 = 16 разів.
Штраф за продуктивність спричиняється тим, що час процесора, необхідний для стиснення / віджаття, більший за час, отриманий для запису блоків 4 Кбіт ... так що при дуже швидкому процесорі та дуже повільному стисненні диска скорочується час запису та читання, але якщо SSD - дуже швидкий і процесор досить повільний, він буде писати набагато повільніше.
Коли я говорю про швидкий або повільний процесор, я маю на увазі на той момент, процесор може бути використаний "математикою" або іншим процесом, тому завжди думаю про безкоштовний процесор, а не про характеристики процесора на папері, це ж стосується диска / SSD, він може бути у використанні за допомогою декількох процесів.
Скажімо, у вас 7Zip пише величезний файл з іншого диска з LZMA2, він буде використовувати багато процесора, тому, якщо ви одночасно копіюєте файл, стиснений NTFS, у нього немає вільного процесора, тому він піде повільніше, ніж без NTFS стиснення, але як тільки 7Zip закінчиться за допомогою процесора, такий процесор зможе NTFS стискатися швидше, і в цей час стиснення NTFS може робити швидше.
Особисто я ніколи не використовую компресію NTFS, я віддаю перевагу PISMO-файлам контейнерів PFO (із стисненням, і це також дозволяє записатись, як на льоту, так і прозорими для додатків), це дає значно кращий коефіцієнт стиснення та менший вплив процесора, в той час як це читання і пишіть на льоту, не потрібно декомпресувати перед використанням, просто змонтуйте та використовуйте його в режимі читання та запису.
Оскільки PISMO робить компресію на ОЗУ перед записом на диск, це може змусити SSD тривати довше, мої тести стиснення NTFS змушують мене думати, що він надсилає дані на диск двічі, спочатку нестиснений, а після цього, якщо він може стиснути, перезаписується у стисненому вигляді .
Чому швидкість запису NTFS на моєму SSD становить близько 1/2 нестисненого файлу, ніж компресія, що становить близько 1/2 його розміру або менших розмірів стислих? У моєму AMD Threadripper 2950 (32 ядра та 64 потоку) із 128 Гбіт оперативної пам’яті (швидкий процесор, дуже швидкий процесор) при використанні його менше ніж 1%, тому є багато процесора для стиснення швидше, ніж максимальна секундна швидкість SSD, можливо, тому Стиснення NTFS починається після того, як блоки 64KiB надсилаються на диск нестисненим, а потім перезаписується стисненою версією ... о, якщо я це роблю на віртуальній машині під управлінням Linux на хості та Windows у гостях, тоді кеш Linux повідомляє, що такі кластери записуються двічі , і швидкість набагато, набагато швидша (Linux кешує не стиснені записи NTFS, що надсилаються гостем Windows, і оскільки після цього вони перезаписуються стислими даними, Linux не надсилає нестиснені дані на диск,
Моя рекомендація, не використовуйте стиснення NTFS, за винятком випадків, коли всередині віртуальних машин гості запускають вікна, якщо хостом є Linux, і ніколи, якщо ви використовуєте локомоти процесора, якщо ваш процесор недостатньо швидкий.
Сучасний SSD має величезний внутрішній кеш-пам'ять, так що запис + перезапис, викликаний стисненням NTFS, може бути пом’якшений системою внутрішнього кешу SSD.
Мої тести, які робляться на "симпатичних" SSD, не мають внутрішньої оперативної пам’яті для кешу всередині SSD, коли я повторюю їх на тих, хто має оперативний кеш, швидкість запису - це швидко, але не так, як можна було б подумати.
Зробіть власні тести та використовуйте величезні розміри файлів (більший за встановлений там, щоб уникнути прихованих результатів кешу).
До речі, те, що деякі люди не знають про NTFS vompression ... будь-який файл розміром 4KiB або нижче ніколи не отримає стиснення NTFS, оскільки немає способу зменшити його розмір принаймні на 4KiB.
Стиснення NTFS co приймає блокування 64KiB, стискає їх, і якщо це може зменшити один кластер (4KiB), тоді він пишеться стиснутим, 64KiB - це 16 блоків 4KiB (послідовно).
Якщо файл 8KiB, коли стискання закінчується, кінцевий результат становить більше 4KiB, він не зберігає жодного кластеру, тому він записується без стиснення, ... і так далі ... натискання має набрати не менше 4 Кбіт.
А, а для стиснення NTFS NTFS повинен бути розміром кластера 4KiB.
Спробуйте зробити тест: Використовуючи кластер 128KiB на NTFS на SSD, ви побачите величезне покращення продуктивності швидкості запису.
Файлові системи на SSD з кластером 4KiB втрачають велику швидкість, в більшості випадків втрачається більше ніж на 50% ... дивіться будь-який орієнтир, який перевіряється з різними розмірами блоків, від 512Bytes до 2MiB, більшість SSD записують у подвійному розмірі швидкість, коли на розмірі кластера 64KiB (або 128KiB), ніж на 4KiB.
Хочете справжній натяк на ваш SSD? Не використовуйте кластер 4KiB у файловій системі, використовуйте 128KiB.
Використовуйте кластер 4KiB, лише якщо більше 99% ваших файлів менше 128 Кбіт.
І т. Д., І т. Д. ... тестуйте, тестуйте і перевіряйте свій власний випадок.
Примітка: Створіть системний розділ NTFS за допомогою дискової частини в консольному режимі під час встановлення Windows з кластером 128KiB або з іншої Windows, але не дозволяйте форматувати Windows під час графічної частини інсталятора (він завжди буде форматувати його як 4KiB кластер NTFS).
Усі мої Windows зараз встановлені на розділі NTFS кластера 128KiB на> 400GiB SSD (SLC).
Сподіваюся, що все стане зрозуміло, M $ не говорить про те, як я пише компресований NTFS, мої тести говорять мені, що він пише два рази (64KiB нестиснений, потім <= 60KiB стиснений), а не один раз (будьте обережні, якщо на SSD).
Остерігайтеся: Windows намагається NTFS стискати деякі внутрішні бруси, незалежно від того, якщо ви скажете, що NTFS не стискається, єдиний спосіб дійсно уникнути цього, якщо розмір кластера NFTS відрізняється від 4KiB, оскільки стиснення NTFS працює лише на розділах розміру кластеру NTFS розміром 4KiB.