Мои тесты с жестким диском USB 3.1 Gen 2 Type C (возможность записи со скоростью 10 Гбит / с, то есть чуть более 1 ГБ / с):
- Зашифрованные с помощью TrueCrypt, veraCrypt, DiskCryptor или любого другого устройства сделают чтение и запись намного медленнее, лучшее, что я получу, это arrond 100 МБ / с (одна десятая без шифрования), поэтому шифрование делает его в десять раз медленнее.
- Копирование огромного большого большого файла (размером более 600 ГБ) на незашифрованном компьютере заняло чуть менее 10 минут), копирование огромного количества действительно очень маленьких файлов (с включенным кэшем записи) дает такую же скорость, обратите внимание, что запись такая огромное количество действительно очень маленьких файлов без кэша записи работает вечно, ака скорость снижается до 1 КБ / с (да килобайт), все эти тесты без шифрования.
- С шифрованием VeraCrypt скорость не может быть 1 ГБ / с, а снижается до 100 МБ / с, ЦП не достаточно быстр, среди него 64 ядра (я объясню позже, как его улучшить) ... но, копируя маленькие скорость обработки файлов снижается до 1 КБ / с при включенном кэше записи ... это ошибка VeraCrypt ... кажется, что она не позволяет кэшировать NTFS, видимую окнами, и Windows может кэшировать только записи, выполненные на самом жестком диске ,
О, да, мне очень повезло, что я мог (на несколько дней) иметь материнскую плату с 4 разъемами и 4 микропроцессорами по 16 ядер в каждом, так что всего 64 ядра ... и оперативная память, вау! это было 32 ГБ оперативной памяти в 4 секциях, каждая рядом с каждым процессорным сокетом с 4 банками каждый и 2 ГБ оперативной памяти на каждом банке 4 секции * 4 банка / секция * 2 ГБ / банк = 32 ГБ ... самый быстрый ПК, к которому я когда-либо прикасался.
Другими словами:
- В Windows включен кэш записи (для USB-устройства), если кэш-память не зашифрована, это значительно улучшает запись небольших файлов.
- VeraCrypt, похоже, не позволяет окнам кэшировать записи в NTFS, потому что нет никакого способа включить / отключить такой кэш, а запись небольших файлов выполняется очень и очень медленно.
Я тестировал другое программное обеспечение для шифрования (очень дорогое), которое эмулирует целый контроллер SAS (да, Serial SCSI), а также эмулирует весь жесткий диск, подключенный к нему ... поэтому в Windows вы можете включать и отключать его кэш записи ... с этим Программное обеспечение для записи небольших файлов выполняется так же быстро, как и для записи большого файла (если такой кэш записи включен в Windows).
Я говорю о кэше записи Windows, поэтому я объясню, как включить / отключить его для людей, которые не знают как:
- Откройте проводник и перейдите туда, где вы можете увидеть корневую папку смонтированных разделов, C:, D: и т.д.
- Выберите любой из Thoose, щелкните правой кнопкой мыши и перейдите к свойствам.
- Перейдите в раздел «Оборудование» и выберите устройство в списке (здесь проблема с VeraCrypt, он не создает виртуальный контроллер).
- Нажмите на кнопку Свойства.
- На вкладке Общие нажмите на кнопку, чтобы изменить конфигурацию.
- Теперь перейдите на вкладку для директив.
- Там вы можете выбрать для быстрого извлечения (запись кэша выключен) или для повышения производительности (запись кэша включен).
Помните, что если кэш записи включен, не отключайте его без окон, сообщающих, что вы можете безопасно извлечь его ... после запроса безопасного удаления.
Что ж, этот кеш влияет только на операции записи, выполняемые на устройстве, поскольку устройство является физическим, оно означает для зашифрованных данных, записанных на жесткий диск, а не для незашифрованных данных, записанных в структуру NTFS.
Так что же происходит? Windows записывает в структуру NTFS без кэша записи, затем VeraCrypt выполняет шифрование (да, конвейерно) и отправляет зашифрованные данные на жесткий диск, затем Windows видит, что устройство имеет кэш записи, поэтому немного ждет записи данных ... но модифицирует структура NTFS выполняется без кеша ... поэтому на практике Windows запрашивает у VeraCrypt шифрование одной и той же структуры много раз (когда записываются небольшие файлы) за короткий промежуток времени ... поэтому VeraCrypt должен шифровать много раз что-то, что будет помещено на точно такой же кластер диска.
Это вызывает огромное, очень большое замедление по сравнению с незашифрованными.
Кому принадлежит вина? Частично для Windows NTFS, которая не кэширует изменения структуры, частично для VeraCrypt за не эмуляцию устройства.
Такой способ работы VeraCrypt (происходит от TruCrypt и т.д.) Вызывает другие редкие вещи, например, SmartDefrag не может видеть и дефрагментировать файлы на нем (Piriform Deflagger может, поэтому может быть плохим алгоритмом на SmartDrefrag) ... также BootIce видит их как IFS: а не как HD #: или RM #: ... некоторые приложения для управления разделами даже не могут его видеть и т. д.
Еще один побочный эффект (для пользователей Linux): На практике вы не можете отформатировать как Ext4 раздел VeraCrypt, если вы попробуете на Windows ... по крайней мере все инструменты раздела, которые я пробовал, которые позволяют создавать (я имею в виду форматирование) разделы Ext4, не видят VeraCrypt устройство (это очень нормально, поскольку VeraCrypt не эмулирует устройство).
Среди всего этого ... для некоторых резервных копий (в Windows) я все еще использую VeraCrypt и NTFS с включенным сжатием ... и я не включаю кэш записи физического устройства (не имеет смысла), поэтому я хочу кэшировать записи зашифрованных данных. .. я хочу кешировать изменения NTFS, а не данные, отправленные на жесткий диск ... VeraCrypt для этого использует хороший кэш записи, так почему двойной кеш ... ужасная часть в том, что Windows не кеширует изменения NTFS в оперативной памяти, а только кеш "Кластеры" отправляется на диск.
И если вы думаете, что размещение механизма шифрования veraCrypt на более низком уровне (ближайшем к физической записи на жесткий диск) получит что-то ... неправильно! проблема заключается в следующем:
- Запрашивается один маленький файл для записи в NTFS
- Происходит поиск пустой записи на Dir (в оперативной памяти)
- Запись новой записи на Dir происходит (в оперативной памяти)
- Windows проверяет кэш записи устройства (VeraCrypt не эмулирует устройство, поэтому с ним нельзя обращаться, поэтому интерпретируется, так как кэш записи не включен)
- Поскольку Windows думает (незашифрованная часть) не имеет кеша записи, кластеры DIR отправляются на HDD
- VeraCrypt перехватывает это и выполняет шифрование (это не нужно, если в ближайшем будущем будут перезаписаны одни и те же кластеры, как это происходит при записи большого количества маленьких файлов в одну и ту же папку)
- VeraCrypt отправляет зашифрованные данные на жесткий диск
- Windows проверяет, является ли устройство (на этот раз реальным, так что к нему можно обратиться) и видит, что кэш записи включен (или выключен)
- Если был включен, он не записывает "зашифрованный" кластер на физический диск, он немного ждет
- Перешел к шагу 1 для следующего файла
В этом проблема ... шаги 5 и последующие шаги ... они не будут выполнены, если NTFS имеет кэш записи ... но VeraCrypt не предоставляет опцию для кэширования на этом уровне ... для этого нужно будет эмулировать целое устройство.
Так что получается, что кластеры, в которых хранится список папок с файлами, отправляются в VeraCrypt много раз, по одному на файл; вместо отправки, если только один раз после того, как все файлы установлены в каталоге.
Сказано в нескольких словах: проблема заключается в том, что много раз шифруется один и тот же список папок ... это шифрование всего текста после написания каждой буквы, а не шифрование всего текста после того, как вы заканчиваете его писать ... очень медленно (когда за короткое время вносится много изменений в одну и ту же папку, например, добавляется много небольших файлов).
Не говоря уже о том, что эта проблема также влияет на удаление файлов ... поместите более десяти тысяч файлов в папку на незашифрованном диске (с включенным кэшем записи), удалите их тэки менее чем за секунду (если кэширование записи отключено, это также приведет к увеличению чем один час), теперь сделайте то же самое, но с зашифрованным разделом и включенным кэшем записи (да, активировано), удаление такого количества файлов приводит к тому, что десять тысяч раз зашифровывает список папок с файлами, на том же диске это также занимает много времени ( совсем рядом как бы не зашифровано без записи в кеш).
Итак, в целом: шифрование может сделать операции намного медленнее, не только из-за медленного ЦП или высокой загрузки ЦП другим процессом и т.д., А также из-за отсутствия кэша записи для изменений структуры NTFS и многократного использования шифрования информация, которая будет храниться в том же месте.
Надеюсь, я смогу открыть глаза кому-нибудь о шифровании ... и надеюсь, что VeraCrypt (лучший с точки зрения безопасности, который я когда-либо видел) активирует кэш записи NTFS до шифрования ... это очень легко сделать, просто другое шифрование какого-либо кластера, и если до его окончания наступит такое время, произойдет еще одна запись в этот кластер, просто проигнорируйте предыдущие незашифрованные данные ... поэтому шифрование выполняется только один раз ... другими словами ... динамический буфер перед шифрованием.
Плохая часть этого ... потеря мощности, внезапное отключение и т.д. Сделает размер потерянной информации немного большим ... как если бы вы использовали жесткий диск с кешем 1 ГБ без батареи и т.д. это всегда гонка между скоростью или гарантией, что запись сделана ... я предпочитаю скорость для этого, позвольте мне объяснить, почему ...
Если копировать один миллион маленьких файлов (все в одной папке; Windows действительно ненавидит это, советуем), тратится всего 10 минут (с кэшем записи на всех уровнях) против одной недели (запись кэша на всех уровнях) ... сделать сами посчитайте ... что данные - это реальное время жизни, полученное мной на ненормальных тестах, которые я проводил в прошлом для системы NTFS (FAT32 был намного быстрее).
Математика такова: каков риск того, что вам понадобится питание всего на десять минут, а не на целую неделю? что я потеряю? если кеш включен, я могу потерять 1/600 данных (более или менее); в случае, если кеш отключен, я могу потерять только тот файл, с которым он работал в тот момент ... но в обоих случаях мне нужно будет выполнить сравнение (полное сравнение, поскольку имя файла может быть в директории, но содержимое может отличаться), поэтому мне нужно примерно одинаковое время, чтобы убедиться, что все хорошо скопировано ... Я предпочитаю потратить 10 минут, чем одну неделю, чтобы сравнить и посмотреть, что пропущено или другой контент, и т. д.
И вообще, если у вас нет свободного выбора ... просто для начала вы бы не использовали windows, ни FAT32, NTFS и т. Д ... не использовали бы по крайней мере Linux и Ext3/4 (ведение журнала) и питание генератор и т. д.
Поэтому, пожалуйста, VeraCrypt, поместите этот буфер записи NTFS как можно скорее.
Последнее замечание: на FAT32 влияет та же концепция ... это не только NTFS ... это способ, которым Windows запрашивает изменения директорий при создании или удалении файлов.
Сделайте этот тест, чтобы увидеть, как идет скорость ... за десять секунд создайте десять тысяч файлов с нулевым размером ... обратите внимание на скорость / время, которое занимает первые 100, по сравнению с тем, сколько времени занимает еще 100, когда в середине или конец ... вы действительно будете видеть один файл в минуту (в некоторых не очень высокоскоростных процессорах)... ах! сделайте это на быстром приводе (чтобы жесткий диск не влиял на скорость).
Теперь, чтобы закончить ... я не мог удержаться от того, чтобы делать те же тесты в Linux (над разделом Ext4, который находится на томе VeraCrypt)... помните, что в Linux все устройства ... так что VeraCrypt представляет ядру устройство. .. так что кэш записи может быть включен на обоих уровнях, на уровне Ext4 и записи в физический кластер ... и по умолчанию в Linux все они включены.
В Linux он действительно летает ... как и предполагалось, поскольку на обоих устройствах включен кэш записи, тот, который обычно монтируется в /media /veracrypt #, и тот, который физически /dev /sd $ # (если говорить о шифрование физического раздела).
Но, эй, у VeraCrypt нет буфера записи для изменений Ext4, нет, это Linux, который имеет это ... также более важно ... период времени, когда что-то не отправляется на диск, сбрасывается, как только другой написать идет к нему; некоторые Linux имеют верхний предел и отправляют данные на диск, прошедший этот, но другие Linux не имеют и не могут отправлять данные на диск в течение многих лет, например, когда кластер записывается два раза в секунду, каждую секунду полной В тот год этот кластер никогда не мог быть записан на физический диск.
Таким образом, в Linux Linux представляет собой тот, который отправляет не более одного раза, список папок (если изменения в нем вносятся в короткие сроки, например, создание большого количества файлов в одной папке, как при копировании и т.д.), Поэтому VeraCrypt будет выполнять шифрование только один раз, после того как все файлы заданы в списке папок с файлами ... и т. д. Гораздо, намного быстрее, чем шифрование всего списка каталогов после добавления каждого файла.
В конце концов подумайте: Windows ненавидит, любит Linux ... или нет, Linux имеет тенденцию терять много информации, если теряется мощность, гораздо больше, чем Windows ... только потому, что у нее есть запись chache ... что лучше? скорость? или быть безопасным записи сделаны? Потребовалось 10 минут, чтобы скопировать все или одну неделю? одни предпочитают одного, другие предпочитают другого ... это зависит от вас.
Но, по крайней мере, я надеюсь, что пояснил, почему копирование большого количества маленьких файлов может быть настолько медленным (конечно, в Windows) в зашифрованный контейнер (диск, раздел, файл и т.д.) По сравнению с физическим устройством, если оно не зашифровано.