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


35

我有一台上网本,第二个分区上有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 /秒

/tmp:42.6 MB /秒

请发表评论?我问这个的原因是上网本上的磁盘访问明显很慢。

更新2

我为每个dd操作计时time

~

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

/tmp

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

另请参阅:关于UbuntuForums.org的讨论错误报告 (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年5月1日更新:供参考的更多相关链接:(旧的)Phoronix 测试,此处类似的问题,此处重复的问题以及类似的 SuperUser问题。这里有一个很好的总结性答案表明,性能损失仅在小型/上网本(Atom)处理器和SSD上明显。


1
是的,不同的文件系统会有所不同。您需要将加密隔离为测试之间的唯一重要区别,才能将任何区别归因于加密。我猜/media/Windows是ntfs。
2011年

这不是将加密的EXT4与NTFS进行比较吗?当然,您要进行的比较是加密的EXT4与普通的EXT4。编辑:呃,是的,@ jmtd说了什么!
奥利

1
是的,我想将加密的ext3与普通的ext-3进行比较。我刚刚意识到,可以通过使用/ tmp而不是已安装的Windows文件夹来做到这一点。不知道今天早些时候测试时我在想什么。感谢您的指导。我会更新我的问题。
SabreWolfy 2011年

/ tmp如何安装?它是tmpfs还是实际上在ext3驱动器上?
Marco Ceppi

我将标准的Ubuntu安装到具有1GB RAM的上网本上,因此/ tmp在驱动器上,而不是我期望的RAM中。
SabreWolfy 2011年

Answers:


18

我使用加密的主目录功能已有多年了,我可以告诉您,尽管它在正常情况下运行良好,但在执行任何类型的密集文件操作时,它会让您的机器屈服。

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

我什么都没想,因为我已经习惯了(这是我的第四台笔记本电脑)。在有人提出如何改进它的小巧机会上,我想我应该在这里搜索。

我必须加密自己的主目录。如果您不必...那就不用。


2
那块7200rpm的硬盘绝对是瓶颈。另外,您可能应该对任何长时间运行的,非关键性的I / O密集型操作都使用ionice,以免降低性能,例如使用Web浏览器。
Ehtesh Choudhury

9

dd并不是衡量HD性能的好方法。涉及到许多变量,无论如何都需要多次进行任何良好的测试。

加密尤其在上网本中的“较小” cpu上产生开销。毕竟,它们便宜是有原因的。

虽然我没有有关驱动器加密的数据,但是我确实在https与http上对Web服务器进行了测试,成本虽然很高,但并不致命。但是,您的主目录经常被程序随机写入其隐藏目录所困扰。在这方面,请参阅Firefox中的一个坏男孩。对于已经较慢的上网本(通常是标准的高清硬盘)来说,这是一个持续的轻微降低。

推荐使用bonnie ++再次运行它,建议另一个用户使用,但这次,对两个不同的用户执行该操作,一个用户使用加密的HD,另一个用户不使用。确保两个家目录都填满相同的目录。

这为您提供了更加准确的测试。看到约20%的性能提高或更多,我将不感到惊讶。这是我的Web服务器在被要求对输出的所有内容进行加密时所做的事情。您正在读取和写入加密的数据。


3

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

只有您的用户文件位于/ home中,因此如果处理大文件(通常我通常将其放置在单独的分区上)中,则仅会保存文件,因此您会看到影响。


2
许多程序在主目录中使用隐藏文件(点文件)。尽管他们应该使用tmp进行频繁写入,但是您可以尝试仅加密/ home的子目录。
idbrii 2011年

0

传输速度并不是评估加密开销的充分指标:可能仅仅是瓶颈是硬盘的IO容量。您可能还想查看一下CPU的使用情况,无论是否使用加密,它可能(也可能没有)不同。


1
IO容量将如何影响这一点?我将数据写入dd到一个加密和未加密的ext3文件夹中。如果写入加密数据的速度慢20倍,则表明加密过程是瓶颈,因为驱动器能够更快地写入未加密的文件夹。
SabreWolfy 2011年

1
好吧,这来自于您为最初的问题提供的更新,当我编写答案时该更新不可用。如果在加密分区上写入数据的速度是未加密分区上的数据的20倍,那么显然加密过程确实会造成开销。

2
例如,bonnie ++比dd更好的IO-meter。只需“ sudo apt-get install bonnie ++”进行安装。
Olli
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.