Jaki jest narzut związany z wydajnością szyfrowania / home?

35

Mam netbooka z systemem Windows na drugiej partycji i Xubuntu ( /i /home) na trzeciej partycji. Wybrałem szyfrowanie mojego folderu domowego podczas instalacji. Wydajność netbooka jest odpowiednia dla małej maszyny, ale chcę poprawić wydajność. Nie mogłem znaleźć wielu informacji na temat narzutu (procesora lub napędu) związanego z szyfrowaniem partycji domowej. Uruchomiłem następujące, pisząc na mojej partycji domowej, a także na zamontowanej partycji Windows:

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

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

Pierwszy zwrócił 2,4 MB / s, a drugi 2,5 MB / s. Czy mogę zatem wywnioskować, że szyfrowanie folderów domowych jest bardzo małe? Nie jestem pewien, czy różne systemy plików zrobią jakąkolwiek różnicę ( /i /homesą ext3).

Aktualizacja 1

Nie wiem, dlaczego nie użyłem /tmpzamiast zamontowanego folderu Windows. Tylko /homejest szyfrowane, podobnie jak /tmpnieszyfrowane ext3. Wyniki ddpowyższego są zdumiewające:

~: 2,4 MB / s

/tmp: 42,6 MB / s

Komentarze proszę? Pytam o to, ponieważ dostęp do dysku na netbooku jest zauważalnie wolny.

Aktualizacja 2

Każdą ddoperację zaplanowałem na time:

~:

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

/tmp:

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

Zobacz także: dyskusja na temat UbuntuForums.org i raport o błędach (2012/05/11: teraz wydaje się być błędem związanym z dyskiem SSD)

Edycja: Dane wyjściowe 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)

Aktualizacja 2012/05/01: Więcej powiązanych linków w celach informacyjnych: (stary) test Phoronix , tutaj podobne pytanie, tutaj duplikat pytania i podobne pytanie SuperUser. Dobre podsumowanie odpowiedź tutaj sugeruje, że kary wydajności są zauważalne tylko na małym / netbooka (Atom) przetwórcy i SSD.

SabreWolfy
źródło
1
Tak, różne systemy plików będą miały znaczenie. Musisz wyodrębnić szyfrowanie jako jedyną znaczącą różnicę między testami, aby przypisać dowolną różnicę do szyfrowania. Zgaduję, że /media/Windowsto NTFS.
jmtd 27.01.11
Czy to nie porównuje szyfrowanego EXT4 z NTFS? Z pewnością porównanie, które chcesz wykonać, jest szyfrowane - EXT4 w porównaniu do zwykłego EXT4. Edycja: erk, tak, co powiedział @jmtd!
Oli
1
Tak, chcę porównać encrypted-ext3 z normalnym ext-3. Właśnie zdałem sobie sprawę, że mogę to zrobić, używając / tmp zamiast zamontowanego folderu Windows. Nie jestem pewien, o czym myślałem, kiedy dzisiaj to przetestowałem. Dzięki za wskazówki. Zaktualizuję moje pytanie.
SabreWolfy
Jak zamontowany jest / tmp? Czy jest to tmpfs czy faktycznie na dysku ext3?
Marco Ceppi
Zrobiłem standardową instalację Ubuntu na netbooku z 1 GB pamięci RAM, więc / tmp jest na dysku, a nie w pamięci RAM.
SabreWolfy

Odpowiedzi:

18

Od lat korzystam z funkcji szyfrowanego katalogu domowego i mogę Wam powiedzieć, że chociaż zachowuje się dobrze w normalnych okolicznościach, przyniesie maszynę na kolana podczas wykonywania jakichkolwiek intensywnych operacji na plikach.

Mam czterordzeniowy Pentium i7 z 16 GB pamięci RAM od System7. Pod każdym względem jest to błyskawiczny, szybki laptop z dyskiem SATA 7200 RPM. Właśnie dzisiaj, gdy rozpakowywałem plik zawierający 20 000 małych plików tekstowych (zajmie to 10 minut), mój system jest zasadniczo bezużyteczny. Wszystko, co dotyka systemu plików, ma 1-2 sekundowe opóźnienie ... łącznie z przeglądarką internetową. Mam doświadczenie z OP - zaszyfrowany katalog domowy jest około 15 razy wolniejszy niż niezaszyfrowany.

Nic o tym nie myślałem, bo jestem do tego przyzwyczajony (to mój czwarty laptop). Mając dziką szansę, że ktoś ma wskazówkę, jak to poprawić, pomyślałem, że poszuka tutaj.

Szyfruję mój katalog domowy, ponieważ MUSZĘ. Jeśli nie musisz ... to nie rób tego.

HDave
źródło
2
Ten dysk twardy o prędkości 7200 obr./min jest zdecydowanie wąskim gardłem. Ponadto powinieneś prawdopodobnie używać ionice do wszelkich długotrwałych, niekrytycznych operacji intensywnie korzystających z I / O, aby nie obniżać wydajności innych rzeczy, takich jak przeglądarka internetowa.
Ehtesh Choudhury
9

dd NIE jest dobrym sposobem pomiaru wydajności HD. W grę wchodzi wiele zmiennych i każdy dobry test i tak musiałby być wykonywany wiele razy.

Szyfrowanie generuje narzut, szczególnie na „mniejszych” procesorach, które są w netbookach. W końcu są tańsze z jakiegoś powodu.

Chociaż nie mam danych na temat szyfrowania dysku, wykonałem testy na serwerze https vs. http dla serwera WWW, a koszt jest znaczny, ale nie śmiertelny. JEDNAK, w twoim domu często panuje bałagan z programami, które nieustannie piszą do swoich ukrytych katalogów. Zobacz Firefox dla jednego złego chłopca w tym zakresie. Jest to stałe nieznaczne spowolnienie na netbooku, który jest już wolniejszy i często jako standard ma wolne HD.

Uruchom go ponownie z bonnie ++ innym zalecanym użytkownikiem, ale tym razem z DWOMA różnymi użytkownikami, jeden z zaszyfrowanym HD, drugi bez. Upewnij się, że oba katalogi domowe są wypełnione tak samo.

To daje znacznie dokładniejszy test. Nie byłbym zaskoczony, gdy zobaczyłem, że wydajność osiągnęła około 20% lub więcej. Tak właśnie zrobił mój serwer internetowy, gdy został poproszony o szyfrowanie wszystkiego, co zgasił. A ty czytasz i piszesz zaszyfrowane dane.

Didier
źródło
3

Chociaż szyfrowanie z pewnością zwiększy obciążenie, szyfrowanie partycji domowej nie powinno mieć dużego wpływu na wydajność systemu. Większość uruchamianych programów to brom / bin lub / usr, a większość zwykłego zapisu systemowego to / var lub / tmp.

Tylko twoje pliki użytkownika znajdują się w / home, więc zobaczysz wpływ przetwarzania dużych plików, które zwykle umieszczam na osobnej partycji, zachowując mój dom tylko na dokumenty.

Słoneczny
źródło
2
Wiele programów używa ukrytych plików (plików kropek) w twoim katalogu domowym. Chociaż powinni używać tmp do częstych zapisów, możesz spróbować zaszyfrować tylko podkatalog / home.
idbrii
0

Szybkość przesyłania nie jest wystarczającą miarą do oszacowania obciążenia związanego z szyfrowaniem: może to być po prostu wąskie gardło związane z pojemnością IO dysku twardego. Możesz również przyjrzeć się zużyciu procesora, może ono (lub nie) różnić się od tego, czy używasz szyfrowania, czy nie.


źródło
1
Jak wpłynie to na zdolność IO? Zapisuję dane ddw zaszyfrowanych i nieszyfrowanych folderach ext3. Jeśli zapisywanie zaszyfrowanych danych jest 20 razy wolniejsze, sugeruje to, że proces szyfrowania jest wąskim gardłem, ponieważ dysk może szybciej zapisywać do niezaszyfrowanego folderu.
SabreWolfy
1
Cóż, pochodzi z aktualizacji, którą dostarczyłeś na swoje pierwsze pytanie, która nie była dostępna, kiedy napisałem odpowiedź. Jeśli zapisywanie danych na zaszyfrowanej partycji jest 20 razy wolniejsze niż na niezaszyfrowanej, to oczywiście proces szyfrowania powoduje narzut.
2
Na przykład bonnie ++ jest znacznie lepszym IO-metrem niż dd. Wystarczy „sudo apt-get install bonnie ++”, aby go zainstalować.
Olli