Man-страница dd
about fdatasync
reads:, physically write output file data before finishing
поэтому физически данные записываются только «один раз» (читается как «не форсировать сброс X блоков или байтов, а только сброс в конце»). Если вы используете dd
для своих тестов, это лучший способ получить наиболее точные результаты. Напротив, если не использовать этот конкретный флаг, вы сделаете ваши результаты нереалистичными: если вы пропустите его, то, вероятно, упустите время для самого шифрования, поскольку dd
просто копируете данные.
Тем не менее, я также думал, что что-то происходит с вашими результатами, но я обнаружил, что эта статья показывает почти то же самое: ecryptfs мучительно медленен. И ваш тест ( копируется один файл ) - лучший сценарий для ecryptfs!
Поскольку ecryptfs записывает зашифрованный файл (с настраиваемым заголовком с метаданными внутри) для каждой версии с открытым текстом, наличие большого количества маленьких файлов подразумевает еще большее снижение производительности.
Однако у ecryptfs есть свои преимущества: вы можете отправить зашифрованный файл сразу, не теряя шифрование. Ваши резервные копии (при условии, что вы создаете резервные копии зашифрованных данных) будут быстрее, поскольку вы будете копировать файлы размером не больше ваших данных (и даже быстрее, если они будут инкрементными, поскольку вы будете копировать только измененные файлы).
С другой стороны, dm-crypt может быть намного быстрее, но вам нужно будет отправить весь контейнер (целую файловую систему), чтобы сохранить шифрование как есть. И резервные копии также будут состоять из целого контейнера, и в большинстве случаев они не смогут создавать инкрементные резервные копии.
Я использовал (и до сих пор использую) оба метода (но не те же инструменты) для хранения зашифрованных данных: синхронизировать файлы на основе файлов (ecryptfs) легче, если использовать такие службы онлайн-хостинга, как dropbox между компьютерами, но это довольно медленно, когда внесение изменений и вызвало у меня некоторые проблемы с лежащей в основе файловой системой (предполагается, что она может записывать файлы, а проблемы, связанные с ограничениями в файловой системе, как правило, разрушают все это); Я предпочитаю шифрование на блочных устройствах: я отношусь к ним как к простым разделам, поэтому ограничения и проблемы не так плохо нарушаются. Единственный недостаток - копирование контейнера, которое может занять больше времени.