Was ist der Performance-Overhead von verschlüsselt / zu Hause?

35

Ich habe ein Netbook mit Windows auf der zweiten Partition und Xubuntu ( /und /home) auf der dritten Partition. Ich habe während der Installation festgelegt, dass mein Basisordner verschlüsselt werden soll. Die Leistung des Netbooks ist für die kleine Maschine angemessen, aber ich versuche, die Leistung zu verbessern. Ich konnte nicht viele Informationen über den mit der Verschlüsselung der Home-Partition verbundenen Overhead (CPU oder Laufwerk) finden. Ich habe Folgendes ausgeführt und auf meine Home-Partition sowie auf die gemountete Windows-Partition geschrieben:

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

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

Der erste lieferte 2,4 MB / s und der zweite 2,5 MB / s. Kann ich daher ableiten, dass die Verschlüsselung von privaten Ordnern sehr wenig Aufwand verursacht? Ich bin nicht sicher, ob die verschiedenen Dateisysteme einen Unterschied machen ( /und /homeext3 sind).

Update 1

Ich weiß nicht, warum ich nicht /tmpanstelle des gemounteten Windows-Ordners verwendet habe. Nur /homeist verschlüsselt, so /tmpist unverschlüsselt ext3. Die Ergebnisse der ddoben genannten sind erstaunlich:

~: 2,4 MB / s

/tmp: 42,6 MB / s

Kommentare bitte? Ich frage dies, weil der Festplattenzugriff auf dem Netbook merklich langsam ist.

Update 2

Ich habe jede ddOperation zeitlich festgelegt mit time:

~:

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

/tmp:

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

Siehe auch: Diskussion auf UbuntuForums.org und Fehlerbericht (2012/05/11: scheint nun ein Fehler in Bezug auf SSD zu sein)

Edit: Ausgabe von 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)

Update 01.05.2012: Weitere Links zum Nachschlagen: ein (alter) Phoronix- Test , eine ähnliche Frage hier, eine doppelte Frage hier und eine ähnliche SuperUser-Frage. Eine gute Zusammenfassung Antwort hier schlägt vor , dass Leistungseinbußen bei kleinen / Netbook nur spürbar sind (Atom) Prozessoren und SSDs.

SabreWolfy
quelle
1
Ja, verschiedene Dateisysteme werden einen Unterschied machen. Sie müssen die Verschlüsselung als den einzigen signifikanten Unterschied zwischen den Tests isolieren, um der Verschlüsselung einen Unterschied zuzuschreiben. Ich /media/Windowsvermute, ist ntfs.
27.
Gleicht das nicht verschlüsseltes EXT4 mit NTFS ab? Sicherlich ist der Vergleich, den Sie anstellen möchten, verschlüsselt mit EXT4 und einfach mit EXT4. Edit: erk, yeah, was @jmtd gesagt hat!
Oli
1
Ja, ich möchte encrypted-ext3 mit normalem ext-3 vergleichen. Ich habe gerade festgestellt, dass ich dies tun kann, indem ich / tmp anstelle des gemounteten Windows-Ordners verwende. Ich bin mir nicht sicher, was ich gedacht habe, als ich das heute früher getestet habe. Danke für die Hinweise. Ich werde meine Frage aktualisieren.
SabreWolfy
Wie ist / tmp gemountet? Handelt es sich um ein tmpfs oder tatsächlich um ein ext3-Laufwerk?
Marco Ceppi
Ich habe eine Standard-Ubuntu-Installation auf einem Netbook mit 1 GB RAM durchgeführt, daher befindet sich / tmp auf dem Laufwerk und nicht im RAM, wie ich es erwarten würde.
SabreWolfy

Antworten:

18

Ich benutze die Funktion für verschlüsselte Home-Verzeichnisse seit Jahren und kann Ihnen sagen, dass sie unter normalen Umständen zwar einwandfrei funktioniert, Ihr Gerät jedoch bei intensiven Dateivorgängen in die Knie zwingt.

Ich habe einen Quad-Core Pentium i7 mit 16 GB RAM von System7. In jedem Fall handelt es sich um ein blitzschnelles Notebook mit einem SATA-Laufwerk mit 7200 U / min. Noch heute, als ich eine Datei mit 20.000 kleinen Textdateien entpackte (10 Minuten), war mein System praktisch unbrauchbar. Alles, was das Dateisystem berührt, hat eine Verzögerung von 1-2 Sekunden ... einschließlich des Webbrowsers. Meine Erfahrung ist genau die des OP - das verschlüsselte Home-Verzeichnis ist ungefähr 15x langsamer als unverschlüsselt.

Ich habe nichts darüber nachgedacht, weil ich so daran gewöhnt bin (das ist mein 4. Laptop). Über die wilde Chance, dass jemand einen Tipp zur Verbesserung hat, dachte ich, ich würde hier suchen.

Ich verschlüssele mein Home-Verzeichnis, weil ich es muss. Wenn Sie nicht müssen ... dann nicht.

HDave
quelle
2
Diese Festplatte mit 7200 U / min ist definitiv ein Engpass. Außerdem sollten Sie ionice wahrscheinlich für langwierige, unkritische I / O-intensive Vorgänge verwenden, um die Leistung nicht für andere Dinge zu beeinträchtigen, z. B. für die Verwendung Ihres Webbrowsers.
Ehtesh Choudhury
9

Mit dd lässt sich die HD-Leistung NICHT gut messen. Es sind zu viele Variablen beteiligt und jeder gute Test müsste sowieso unzählige Male durchgeführt werden.

Die Verschlüsselung verursacht einen Overhead, insbesondere auf den "kleineren" CPUs, die sich in Netbooks befinden. Sie sind aus einem bestimmten Grund immerhin billiger.

Ich habe zwar keine Daten zur Laufwerkverschlüsselung, aber ich habe Tests auf https vs http für einen Webserver durchgeführt, und die Kosten sind beträchtlich, aber nicht tödlich. JEDOCH neigt Ihr Heimverzeichnis dazu, mit Programmen, die ständig nach dem Zufallsprinzip in ihre versteckten Verzeichnisse schreiben, durcheinander zu sein. Siehe Firefox für einen bösen Buben in dieser Hinsicht. Dies ist eine ständige leichte Verlangsamung auf einem Netbook, das bereits langsamer ist und standardmäßig eine langsame HD hat.

Führen Sie es erneut mit bonnie ++ aus. Ein anderer Benutzer wird empfohlen, diesmal jedoch mit ZWEI verschiedenen Benutzern, einer mit verschlüsselter Festplatte, der andere ohne. Stellen Sie sicher, dass beide Ausgangsverzeichnisse gleich gefüllt sind.

Das gibt Ihnen einen viel genaueren Test. Es würde mich nicht überraschen, wenn die Performance um 20% oder mehr geschrumpft wäre. Das hat mein Webserver getan, als er aufgefordert wurde, alles zu verschlüsseln, was er ausgegeben hat. Und Sie lesen und schreiben verschlüsselte Daten.

Didier
quelle
3

Die Verschlüsselung erhöht zwar den Overhead, die Verschlüsselung der Home-Partition sollte jedoch keinen großen Einfluss auf die Leistung Ihres Systems haben. Die meisten Programme, die Sie ausführen, werden aus / bin oder / usr gelesen, und die meisten normalen Systemschreibvorgänge finden Sie in / var oder / tmp.

Nur Ihre Benutzerdateien befinden sich in / home, sodass Sie Auswirkungen haben, wenn Sie große Dateien verarbeiten, die ich normalerweise ohnehin auf einer separaten Partition abgelegt habe und nur für Dokumente verwahre.

Sonnig
quelle
2
Viele Programme verwenden versteckte Dateien (Punktdateien) in Ihrem Home-Verzeichnis. Während sie tmp für häufige Schreibvorgänge verwenden sollten, können Sie versuchen, nur ein Unterverzeichnis von / home zu verschlüsseln.
idbrii
0

Die Übertragungsgeschwindigkeit ist kaum eine ausreichende Messgröße, um den Overhead der Verschlüsselung einzuschätzen: Es kann einfach sein, dass der Engpass die E / A-Kapazität Ihrer Festplatte ist. Möglicherweise möchten Sie auch die CPU-Auslastung untersuchen. Möglicherweise ist die Verwendung der Verschlüsselung unterschiedlich (oder auch nicht).


quelle
1
Wie würde die IO-Kapazität dies beeinflussen? Ich schreibe Daten mit ddin einen verschlüsselten und unverschlüsselten ext3 Ordner. Wenn das Schreiben von verschlüsselten Daten 20-mal langsamer ist, ist dies ein Engpass, da das Laufwerk in der Lage ist, schneller in den unverschlüsselten Ordner zu schreiben.
SabreWolfy
1
Nun, das kommt von dem Update, das Sie für Ihre ursprüngliche Frage bereitgestellt haben und das nicht verfügbar war, als ich die Antwort schrieb. Wenn das Schreiben von Daten auf eine verschlüsselte Partition 20-mal langsamer als auf eine unverschlüsselte Partition ist, verursacht der Verschlüsselungsprozess offensichtlich einen Overhead.
2
Zum Beispiel ist bonnie ++ ein viel besseres IO-Meter als dd. Einfach "sudo apt-get install bonnie ++" installieren.
Olli