当前位置: 首页>>技术问答>>正文


加密/home的性能开销是多少?

, ,

问题描述

我在第二个分区上有一个带有Windows的上网本,在第三个分区上有一个Xubuntu(//home)。我选择在安装期间加密我的主文件夹。上网本的性能足以满足小型机器的需求,但我希望提高性能。我找不到有关与主分区加密相关的开销(CPU或驱动器)的大量信息。我运行以下内容,写入我的主分区以及挂载的Windows分区:

dd if=/dev/zero of=~/dummy bs=512 count=10240

dd if=/dev/zero of=/media/Windows/dummy bs=512 count=10240

第一个返回2.4MB /s,第二个返回2.5MB /s。因此,我可以推断主文件夹加密的开销很小吗?我不确定不同的文件系统是否会有任何区别(//home是ext3)。

更新1

我不知道为什么我没有使用/tmp而不是挂载的Windows文件夹。只有/home被加密,因此/tmp是未加密的ext3。如上所述的dd的结果令人震惊:

~:2.4 MB /s

/tmp:42.6 MB /s

请评论?我之所以这么说是因为上网本上的磁盘访问速度明显很慢。

更新2

我用time为每个dd操作计时:

~

real    0m2.217s  
user    0m0.028s  
sys     0m2.176s

/tmp

real    0m0.152s  
user    0m0.012s  
sys     0m0.136s

另请参阅:discussion on UbuntuForums.orgbug report(2012/05/11:现在似乎是与SSD相关的错误)

编辑:mount的输出:

/dev/sda3 on / type ext3 (rw,noatime,errors=remount-ro,user_xattr,commit=600)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/USER/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=USER)

更新2012/05/01:更多相关链接供参考:an(旧)Phoronix test,此处为similar问题,此处为duplicate问题,以及similar超级用户问题。一个很好的总结答案here表明性能损失只在小型/上网本(Atom)处理器和SSD上才会引起注意。

最佳解决方案

多年来我一直在使用加密的主目录功能,我可以告诉你,虽然它在正常情况下表现良好,但在进行任何强烈的文件操作时会使你的机器瘫痪。

我有一个quad-core Pentium i7和System7的16GB RAM。无论如何,它是一款带有SATA 7200 RPM驱动器的快速笔记本电脑。就在今天,当我解压缩包含20,000个小文本文件的文件(需要10分钟)时,我的系统基本上无法使用。触及文件系统的所有内容都有1-2秒的延迟……包括Web浏览器。我的经验正是OP的经验 – 加密的主目录比未加密的目录慢15倍。

我没有想到它,因为我已经习惯了(这是我的第四台笔记本电脑)。如果有人知道如何改进它,我想我会在这里搜索。

我加密了我的主目录,因为我必须这样做。如果你不必……那就不要了。

次佳解决方案

dd不是衡量高清性能的好方法。涉及到许多变量,无论如何,任何好的测试都需要做很多次。

加密会产生开销,尤其是上网本中的”lesser” cpu。毕竟它们更便宜。

虽然我没有关于驱动器加密的数据,但我确实对https vs http进行了网络服务器的测试,但成本很高,但并不致命。但是,你的家庭目录往往是乱七八糟的程序随机写入他们的隐藏目录。在这方面,请看Firefox为一个坏男孩。这对于上网本来说是一个持续的轻微减速,已经慢了,并且通常标准的HD很慢。

另一个用户建议使用bonnie ++再次运行它,但这一次,与两个不同的用户一起使用,一个使用加密的HD,另一个没有。确保两个家庭目录都填充相同。

这为您提供了更准确的测试。看到大约20%或更高的性能下降,我不会感到惊讶。这就是我的网络服务器在被要求加密所有内容时所做的事情。而且您正在读写加密数据。

第三种解决方案

虽然加密肯定会增加开销,但加密主分区不应该对系统的性能产生很大影响。您运行的大多数程序都是读取溴/bin或/usr,大多数常规系统写入都在/var或/tmp中。

只有你的用户文件在/home中,所以如果处理大文件你会看到影响,我通常把它放在单独的分区上,只保留我的家庭文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2850.html,未经允许,请勿转载。