Qual è il sovraccarico prestazionale di crittografato / home?


35

Ho un netbook con Windows sulla seconda partizione e Xubuntu ( /e /home) sulla terza partizione. Ho scelto di crittografare la mia cartella principale durante l'installazione. Le prestazioni del netbook sono adeguate per la piccola macchina che è, ma sto cercando di migliorare le prestazioni. Non sono riuscito a trovare molte informazioni sull'overhead (CPU o unità) associato alla crittografia della partizione domestica. Ho eseguito quanto segue, scrivendo sulla mia partizione home e sulla partizione Windows montata:

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

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

Il primo ha restituito 2,4 MB / se il secondo ha restituito 2,5 MB / s. Posso quindi dedurre che la crittografia delle cartelle home ha un sovraccarico minimo? Non sono sicuro se i diversi filesystem faranno la differenza ( /e /homesono ext3).

Aggiornamento 1

Non so perché non ho usato al /tmpposto della cartella di Windows montata. Solo /homeè crittografato, quindi /tmpnon è crittografato ext3. I risultati di ddquanto sopra sono sorprendenti:

~: 2,4 MB / s

/tmp: 42,6 MB / s

Commenti per favore? Il motivo per cui lo sto chiedendo è che l'accesso al disco sul netbook è notevolmente lento.

Aggiornamento 2

Ho cronometrato ciascuna delle ddoperazioni con time:

~:

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

/tmp:

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

Vedi anche: discussione su UbuntuForums.org e segnalazione di bug (2012/05/11: ora sembra essere un bug relativo a SSD)

Modifica: output di 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)

Aggiornamento 2012/05/01: Ulteriori collegamenti correlati per riferimento: un (vecchio) test Phoronix , una domanda simile qui, una domanda duplicata qui e una domanda SuperUser simile . Una buona risposta riepilogativa qui suggerisce che le penali di prestazione sono evidenti solo su processori e SSD piccoli / netbook (Atom).


1
Sì, diversi filesystem faranno la differenza. È necessario isolare la crittografia come unica differenza significativa tra i test per attribuire qualsiasi differenza alla crittografia. Immagino /media/Windowssia NTFS.
jmtd,

Non sta confrontando il criptato EXT4 con NTFS? Sicuramente il confronto che vuoi fare è criptato-EXT4 contro semplice EXT4. Modifica: erk, sì, cosa ha detto @jmtd!
Oli

1
Sì, voglio confrontare criptato-ext3 con normale ext-3. Mi sono appena reso conto che posso farlo usando / tmp invece della cartella Windows montata. Non sono sicuro di cosa stavo pensando quando l'ho provato prima oggi. Grazie per i suggerimenti. Aggiornerò la mia domanda.
SabreWolfy,

Come viene montato / tmp? È un tmpfs o effettivamente sull'unità ext3?
Marco Ceppi

Ho fatto un'installazione standard di Ubuntu su un netbook con 1 GB di RAM, quindi / tmp è sul disco piuttosto che nella RAM che mi aspetterei.
SabreWolfy,

Risposte:


18

Uso la funzione di home directory crittografata da anni e posso dirti che mentre si comporta bene in circostanze normali, metterà in ginocchio la tua macchina quando esegui qualsiasi tipo di intensa operazione sui file.

Ho un Pentium i7 quad-core con 16 GB di RAM da System7. Di qualsiasi misura si tratta di un laptop ultrarapido con un drive SATA 7200 RPM. Proprio oggi, quando stavo decomprimendo un file con 20.000 piccoli file di testo (impiega 10 minuti), il mio sistema è essenzialmente inutilizzabile. Tutto ciò che tocca il file system ha un ritardo di 1-2 secondi ... incluso il browser web. La mia esperienza è esattamente quella dell'OP: la home directory crittografata è circa 15 volte più lenta di quella non crittografata.

Non ci ho pensato perché ci sono abituato (questo è il mio quarto laptop). Sulla selvaggia possibilità che qualcuno abbia un suggerimento su come migliorarlo, ho pensato di cercare qui.

Cripto la mia directory home perché DEVO. Se non devi ... allora non farlo.


2
Quel disco rigido a 7200 rpm è sicuramente un collo di bottiglia. Inoltre, dovresti probabilmente usare ionice per qualsiasi operazione intensiva di I / O non critico, in modo da non ridurre le prestazioni per altre cose, come usare il tuo browser web.
Ehtesh Choudhury,

9

dd NON è un buon modo per misurare le prestazioni HD. Ci sono molte variabili coinvolte e ogni buon test dovrebbe essere fatto comunque numerose volte.

La crittografia genera un sovraccarico soprattutto sulle CPU "minori" che si trovano nei netbook. Dopotutto sono più economici per un motivo.

Sebbene non disponga di dati sulla crittografia dell'unità, ho eseguito test su https vs http per un server Web e il costo è notevole ma non letale. TUTTAVIA, la tua home directory tende ad essere un casino con i programmi che scrivono casualmente nelle loro directory nascoste. Vedi Firefox per un ragazzaccio al riguardo. Questo è un leggero rallentamento costante su un netbook che è già più lento e spesso di serie ha un HD lento.

Eseguilo di nuovo con bonnie ++ consigliato da un altro utente, ma questa volta fallo con DUE utenti diversi, uno con un HD crittografato, l'altro senza. Assicurati che entrambe le home directory siano riempite allo stesso modo.

Questo ti dà un test molto più accurato. Non sarei sorpreso di vedere circa il 20% di prestazioni o più. Questo è ciò che ha fatto il mio server web quando mi è stato chiesto di crittografare tutto ciò che ha pubblicato. E stai leggendo e scrivendo dati crittografati.


3

Mentre la crittografia sicuramente aggiungerà overhead, la crittografia della partizione home non dovrebbe avere un grande impatto sulle prestazioni del tuo sistema. La maggior parte dei programmi eseguiti sono letti brom / bin o / usr e la maggior parte della normale scrittura del sistema è in / var o / tmp.

Solo i tuoi file utente sono in / home, quindi vedrai l'impatto se elaboro file di grandi dimensioni, che di solito metto comunque su una partizione separata, mantenendo la mia casa solo per i documenti.


2
Molti programmi usano file nascosti (file di punti) nella tua home directory. Mentre dovrebbero usare tmp per le scritture frequenti, potresti provare a crittografare solo una sottodirectory di / home.
idbrii

0

La velocità di trasferimento non è quasi una metrica sufficiente per valutare il sovraccarico della crittografia: potrebbe semplicemente essere che il collo di bottiglia sia la capacità di I / O del disco rigido. Potresti anche voler esaminare l'utilizzo della CPU, potrebbe (o non potrebbe) essere diverso se usi la crittografia o meno.


1
In che modo la capacità di I / O influenza questo? Scrivo i dati con ddle cartelle ext3 crittografate e non crittografate. Se la scrittura di dati crittografati è 20 volte più lenta, ciò suggerirebbe che il processo di crittografia è il collo di bottiglia, poiché l'unità è in grado di scrivere più velocemente nella cartella non crittografata.
SabreWolfy,

1
Bene, questo deriva dall'aggiornamento che hai fornito alla tua domanda iniziale, che non era disponibile quando ho scritto la risposta. Se la scrittura di dati su una partizione crittografata è 20 volte più lenta di una non crittografata, ovviamente il processo di crittografia causa un sovraccarico.

2
Ad esempio Bonnie ++ è un IO-meter molto migliore di dd. Basta "sudo apt-get install bonnie ++" per installarlo.
Olli,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.