Никто не говорит о проблеме мэра на не SSD, это фрагментация.
Каждый блок 64 КБ записывается в том месте, где он был бы без сжатия, но он может быть сжат, поэтому, по крайней мере, он равен <= 60 КБ, а затем записывает менее 64 КБ, а блок битового гнезда будет идти так, как если бы предыдущий не был сжать, так что много пробелов в голове.
Протестируйте его с помощью мультигигабайтного файла машины virtusl любой системы Windows (они, как правило, уменьшаются на 50%, но с огромными> 10000 фрагментами).
А для SSD там что-то не сказано, как, черт возьми, это написать? Я имею в виду, что если он пишет несжатый файл и затем перезаписывает его сжатой версией (для каждого мегаблока по 64 КБ), срок службы SSD сильно сокращается; но если он записывает его непосредственно в сжатой форме, то SSD в реальном времени может быть меньше или короче .... дольше, если вы пишете только 64 КБ сразу, короче, намного короче, если вы записываете 64 КБ в 4 КБ, потому что он будет писать такие 64 КБ (в сжатом виде) столько раз, сколько 64/4 = 16 раз.
Нарушение производительности вызвано тем, что процессорное время, необходимое для сжатия / распаковки, будет больше, чем время, затрачиваемое на запись блоков не по 4 КБ ... так что с очень быстрым ЦП и очень медленным сжатием диска сокращается время записи и чтения, но если SSD очень быстрый и процессор довольно медленный, он будет писать гораздо медленнее.
Когда я говорю о быстром или медленном процессоре, я имею в виду, что в этот момент процессор может использоваться «математикой» или другим процессом, поэтому всегда думайте о свободном процессоре, а не о спецификациях процессора на бумаге, то же самое относится и к диску / SSD, он может использоваться несколькими процессами.
Скажем, у вас есть 7Zip, записывающий огромный файл с другого диска с помощью LZMA2, он будет использовать много ресурсов ЦП, поэтому, если в то же время вы копируете сжатый файл NTFS, у него нет свободного ЦП, поэтому он будет работать медленнее, чем без NTFS. сжатие, но как только 7Zip прекратит использование ЦП, такой ЦП сможет сжимать NTFS быстрее, и в это время сжатие NTFS может делать вещи быстрее.
Лично я никогда не использую сжатие NTFS, я предпочитаю контейнеры PFO для монтирования файлов PISMO (со сжатием, а также позволяет выполнять надписи, как на лету, так и прозрачно для приложений), это дает намного лучший коэффициент сжатия и меньшее влияние на процессор, в то время как это чтение и писать на лету, не нужно распаковывать перед использованием, просто смонтировать и использовать его в режиме чтения и записи.
Поскольку PISMO выполняет сжатие в ОЗУ перед записью на диск, SSD может работать дольше, мои тесты сжатия NTFS заставляют меня думать, что он отправляет данные на диск дважды, сначала без сжатия, и после этого, если он может сжимать, он перезаписывается в сжатом виде ,
Почему скорость записи со сжатым NTFS на моем твердотельном накопителе составляет примерно 1/2 от несжатой с файлами, а не со сжатием почти на 1/2 своего размера или меньших сжатых размеров? В моем AMD Threadripper 2950 (32 ядра и 64 потока) с оперативной памятью 128 ГБ (быстрый ЦП, очень быстрый ЦП) при использовании его менее чем на 1%, поэтому имеется достаточно ЦП для сжатия быстрее, чем максимальная скорость SSD, возможно, потому что Сжатие NTFS начинается после того, как блоки размером 64 КБ отправляются на диск без сжатия, а затем перезаписываются сжатой версией ... о, если я делаю это на виртуальной машине под управлением Linux на хосте и Windows на гостевой, то кэш Linux сообщает мне, что такие кластеры записываются дважды и скорость намного, намного быстрее (Linux кэширует несжатые записи NTFS, отправленные гостевой системой Windows, и, поскольку после этого они перезаписываются сжатыми данными, Linux не отправляет несжатые данные на диск,
Я не рекомендую использовать сжатие NTFS, за исключением того, что в гостях на виртуальных машинах запускаются окна, если хостом является Linux, и никогда, если вы используете процессор как движок, если ваш процессор недостаточно быстр.
Современные SSD имеют огромный внутренний оперативный кэш, так что запись + перезапись, вызванная сжатием NTFS, может быть уменьшена системой внутреннего кэша SSD.
Мои тесты проводились на «симпатичных» SSD без внутренней оперативной памяти для кэширования внутри SSD, когда я повторял их на тестах с оперативной памятью, скорость записи была выше, но не так, как можно было бы подумать.
Проводите свои собственные тесты и используйте файлы огромных размеров (больше, чем общее количество установленных там файлов, чтобы избежать кеширования скрытых результатов).
Кстати, кое-что, что некоторые люди не знают о сжатии NTFS ... любой файл размером 4 КБ или ниже никогда не получит сжатие NTFS, потому что нет способа уменьшить его размер по крайней мере 4 КБ.
Компрессия NTFS занимает блоки 64 КБ, сжимает их, и если она может уменьшить один кластер (4 КБ), то она записывается сжатой, 64 КБ - это 16 блоков по 4 КБ (последовательных).
Если файл размером 8 КБ, когда сжатие заканчивается, окончательный результат больше 4 КБ, он не может сохранить кластер, поэтому он записывается без сжатия, и т. Д. Pression должен получить не менее 4 КБ.
Ах, а для сжатия NTFS NTFS должна иметь размер кластера 4 КБ.
Попробуйте выполнить тест: используйте кластер 128 КБ в NTFS на SSD. Вы увидите значительное улучшение производительности при скорости чтения и записи.
Файловые системы на SSD с кластером 4KiB теряют значительную часть своей скорости, в большинстве случаев теряются более чем на 50% ... посмотрите какие-либо тесты для тестирования с разными размерами блоков, от 512Bytes до 2MiB, большая часть SSD записывает в два раза скорость при размере кластера 64 КБ (или 128 КБ), чем при 4 КБ.
Хотите настоящий стимул для вашего SSD? Не используйте кластер 4 КБ в файловой системе, используйте 128 КБ.
Используйте кластер 4 КБ, только если более 99% ваших файлов меньше 128 КБ.
Etc, etc, etc ... тестируйте, тестируйте и тестируйте свой собственный случай.
Примечание. Создайте системный раздел NTFS с помощью diskpart в режиме консоли при установке Windows с кластером 128 КБ или из другой Windows, но не разрешайте форматирование Windows в графической части установщика (он всегда будет форматировать его как NTFS кластера 4 КБ).
Все мои Windows теперь установлены в NTFS-разделе кластера 128 КБ на SSD> 400 ГБ (SLC).
Надеюсь, все станет ясно, M $ не говорит о том, как iy пишет сжатый NTFS, мои тесты говорят мне, что он пишет дважды (без сжатия 64 КБ, затем <= 60 КБ), а не только один раз (остерегайтесь этого, если на SSD).
Осторожно: Windows пытается сжимать NTFS некоторых внутренних каталогов, независимо от того, говорите ли вы, что NTFS не сжимается, единственный способ избежать этого, если размер кластера NFTS отличается от 4KiB, поскольку сжатие NTFS работает только на разделах NTFS с размером кластера 4KiB.