为什么 TrueCrypt/VeraCrypt 的写入速度如此*不成比例*地慢?

为什么 TrueCrypt/VeraCrypt 的写入速度如此*不成比例*地慢?

当我尝试使用 TrueCrypt 或 VeraCrypt 时,写入速度非常慢,但读取速度很快。这两个程序都会发生这种情况,并且不管我是否使用加密文件容器或加密分区。(所以,这不是碎片等。)

例如,在我的 SSD 上,未加密的读写速度两个都基准超过 1GB/秒在 CrystalDiskMark 上,使用 AES-XTS 和 HMAC-RIPEMD-160 基准的加密卷读取速度为810 MB/秒与写入速度40 MB/秒

为什么加密写入比加密读取慢得多?

(不,我没有做像在虚拟机中进行基准测试这样愚蠢的事情。我发誓我已经想到了所有“简单”的答案,据我所知,它们并不能解释这种情况。)

答案1

你确定是加密本身导致了速度差异吗?

首先,您的驱动器可能正在使用压缩来返回人为的高未加密读写速度。本文(下面也有链接)显示“Zalman 实际上真实地描绘了数据压缩及其效果。其产品网站上的图表清楚地表明,写入不可压缩数据的速度可能比可压缩信息的速度慢。”图形显示不可压缩读取速度为 500MB/s,不可压缩写入速度为 ~160MB/s。

如果驱动器已满或未进行 TRIM,则写入速度会因需要在写入前擦除扇区而变慢。甚至在加密中使用 TRIM 也存在安全漏洞,因为它会显示哪些扇区是空的,而 VeraCrypt 可能未进行 TRIM(实际上不应该进行 TRIM),从而减慢写入速度。

CrystalDiskMark(或 SSD 本身)可能会受到文件系统和所做测试类型的强烈影响。我会尝试几种不同的测试,以及不同的基准测试(如 AS SSD、Iometer 和 PCMark)和实际使用测试,然后才得出结论,加密速度慢是唯一可能的原因。

Tom's Hardware 上的这篇文章你的 SSD 的文件系统是否影响性能?,显示两个不同的 SSD 上的三个不同文件系统的读写速度差异很大,没有任何加密。以下是一些结果:

在此处输入图片描述

读取速度甚至可能更慢描述

在此处输入图片描述

在此处输入图片描述

答案2

简短的回答是 - 将您的 ssd 型号更改为 veracrypt。

哦,好长啊 :) 驱动器的写入速度超过 300MB/s,但使用 veracrypt 加密时,写入速度只有 30MB/s 左右……

如果我找不到解决方案或原因,我就会从中提出问题:)

长答案 - 我在对我的磁盘进行基准测试时遇到了同样的问题,我想,是因为无聊,我在 veracrypt 或 Ssd 本身中发现了非常奇怪的错误...我有两个品牌的 3 个备用 ssd(两个 1tb,一个 2tb)和三个新的廉价中国 usb 盒。我只是好奇当前的 usb 盒(其中两个是透明的,我知道它们略有不同)是否会影响驱动器性能,以及最便宜的 usb 是否足以充分利用当今 sata3 驱动器的潜力。我尝试过三星 850 pro 1tb、三星 870 2tb 和某种服务器或 pro 系列英特尔 960Gb。我已经使用 atto 磁盘基准测试尝试过每个磁盘和每个机箱(即使文件长度为 32Gb)。而且我的测试结果确实一致 - 在所有情况下,所有磁盘都非常接近(根据 USB 外壳的不同,相差几 mb/s。在标准条件下读写速度均如此。后来我想我会检查一下 veracrypt 现在对性能的影响有多大。它对我的旧 i7-6700K CPU 几乎没有任何影响。但有一个驱动器出现了奇怪的问题 - 三星 1TB 850 PRO 无法以超过 20-30mb/s 的速度存档,就像你的一样。我尝试了一切 - 将文件系统从 fat 更改为 exfat 更改为 NTFS,尝试了不同的分配单元、加密算法,简直是一切。此外,我已经在 Windows 中完全修剪过,由于方便并且不相信 Microsoft 工具,我甚至手动修剪过它,通过 Linux bash 循环每 64k 个扇区使用hdparm --trim-sector-range命令 xD 逐个 64k 个扇区 我不记得确切的数字,但每个磁盘在每个 atto 中都轻松实现了 300mb/s+ 的读写测试,但奇怪的是,当驱动器被 veracrypt 加密时,三星无法更快地写入任何东西。当然,我也尝试过通过简单的 Windows 资源管理器复制来复制更大的文件,结果相同。我在搜索为什么它表现如此糟糕时找到了你的问题,我发现这是一个非常不常见的、罕见的但明显的错误,影响了很多人。而且由于发生奇怪的情况,它甚至没有报告给 veracrypt,除了我在 2018 年左右看到一两个描述不佳的案例,我记得那是 850pro 的生产年份,但没有描述太多细节——加密时写入速度降低 10 倍的一个共同点:)也许我会测试更多的磁盘,因为我有更多制造商的磁盘。也许我会报告那个错误,因为我真的很想知道为什么会发生这种情况。

相关内容