加密如何影响硬盘性能?


11

我直接用ecryptfs加密了我的住所。加密会导致碎片吗?

我感到读取文件,显示文件夹和登录的速度越来越慢(尽管开始时并没有明显变慢)。即使我只打开一个文本文件,硬盘也会发出很多搜寻噪音。在/home/.ecryptfs中,我看到了很多大档案(可能包含加密的文件),所以我想知道Linux文件系统联机碎片整理是否在这里获得了任何好处。

我必须选择哪些选项来提高性能?我应该决定是否最好不加密吗?


也许您的加密分区已满?你可以用df命令检查一下吗?请编辑您的初始过帐以添加输出。
Michael K

Answers:


10

在加密主目录时,Phoronix已运行了一组测试和一些有关eCryptfs性能的文章:

我从这些文章中得出的结论是,根据基准进行的加密(如预期的那样)确实会在一定程度上影响读写性能。在小型CPU(Atom处理器)和快速硬盘驱动器(SSD)上,这可能更引人注意。就是说,通过使用eCryptfs,您只需要在将数据读/写到主目录(而不是像使用全盘加密的系统的其余部分)中时那样就牺牲性能。此外,对于更快的处理器,进行加密/解密所花费的时间通常适合IO等待从磁盘访问数据的时间,这通常是瓶颈。

对于您的特定问题,如果您听到很多“硬盘寻道”的噪音,在我看来,您的系统正在从内存到磁盘来回交换数据。如果您选择使用eCryptfs,那么Ubuntu将自动加密您的交换空间(这是保护加密数据所必需的)。但是,加密交换也非常昂贵。

我个人而言,我的系统有很多RAM(大多数系统上为8GB)使系统过载,并完全禁用交换功能。


6

我正在主目录中使用python进行编程,并且有用于项目包的Python虚拟环境。

对于我的程序,由于在查找模块文件时Python发出了许多stat()系统调用,因此在eCryptfs上的启动时间相当慢。因为许多此类stat调用会导致“找不到文件”,并且永远不会缓存此类结果,但是我们仍然要为ecryptf付出代价,因此情况一直很缓慢。

更新资料

我最终通过将ecryptfs挂载点移动到〜/ private,将大多数文件从〜/ private复制到我的未加密homefolder中,从我的主目录中删除了ecryptfs。现在事情又快了。也许其他CPU的性能损失会更少,我有一个带Atom的Asus 1215N。


我有一个新的Pentium i7 QuadCore,但性能对我来说仍然很糟糕。
HDave 2014年

5

我没有进行任何硬核测量,因此请花点精力,但我注意到在以下情况下,与dm-crypt的LV(挂载为/ home / username)相比,ecryptfs的性能极其差:

  • du在包含大量文件的文件夹中。使用整个分区的dm-crypt需要几分钟,而仅需几秒钟-到目前为止,这是最坏的情况

  • 在mutt中打开包含大量项目的文件夹会花费几秒钟的时间(在包含10000个项目的文件夹中大约需要20秒钟),而使用dm-crypt几乎可以瞬间完成

  • 与dm-crypt相比,git操作要慢一些(不是很多)

  • Firefox等应用程序的启动时间明显更长,但我们仍处于秒范围内

我刚搬到dm-crypt(带有pam_mount),再开心不过了!


1

诸如truncate()和ftruncate()之类的增加文件大小的调用在ecryptfs上速度较慢,因为它必须填充加密的零,而普通的文件系统只会在文件中产生漏洞。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.