Mam 128 GB SSD zainstalowanego w moim laptopie (Samsung 840 Pro) na interfejsie Sata 3. Ten laptop ma również procesor Intel iy 3210m Ivy Bridge Intel i 8 GB pamięci RAM.
Zainstalowałem Ubuntu 12.10, używając graficznego instalatora, aby uzyskać pełne szyfrowanie dysku. Jestem trochę rozczarowany, ponieważ spodziewałem się, że specyfikacje przyniosą lepsze rezultaty niż to, co otrzymam.
Przeglądając tę stronę Benchmarking SSD , twierdzi, że mój procesor może:
- ~ 500 MB / s: Z AES-NI
- ~ 200 MB / s: Bez AES-NI
Patrząc na liczby, które otrzymuję, myślę, że nie mam włączonej funkcji AES-NI. Ale najpierw ...
Czytanie niezaszyfrowanych danych jest szybkie:
# hdparm -Tt /dev/sda1
/dev/sda1:
Timing cached reads: 14814 MB in 2.00 seconds = 7411.70 MB/sec
Timing buffered disk reads: 242 MB in 0.48 seconds = 502.75 MB/sec
To faktycznie jest bliskie specyfikacji mojego dysku SSD „do 530 MB / s”, a wykonanie dd
testu daje wyniki podobne do powyższych.
Zapisywanie zaszyfrowanych danych jest również szybkie dzięki dm-crypt (w przeciwnym razie w eCryptfs wydajność zapisu jest ogromna, mniejsza niż 100 MB / s), liczby są zbliżone do specyfikacji SSD (myślę, że zapis jest buforowany lub coś w tym rodzaju):
# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.93896 s, 365 MB/s
Odczytywanie zaszyfrowanych danych to jednak inna historia:
# echo 3 > /proc/sys/vm/drop_caches
# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.85956 s, 183 MB/s
Podczas pisania tej wiadomości miałem szczęście uzyskać 183 MB / s, ponieważ liczba ta jest różna. Zwykle jest to około 150 MB / s, ale dostałem też prawie 300 MB / s przy nowym rozruchu, ale potem wydajność spada stopniowo do poniżej 200 MB / s bez uruchamiania jakichkolwiek aplikacji. Zauważ, że podczas przeprowadzania tego testu nie mam innych procesów wykonujących operacje we / wy (jak widać w przypadku iotop
).
Oto test, w hdparm
którym wyniki są gorsze:
# hdparm -Tt /dev/mapper/sda2_crypt
/dev/mapper/sda2_crypt:
Timing cached reads: 14816 MB in 2.00 seconds = 7412.86 MB/sec
Timing buffered disk reads: 422 MB in 3.01 seconds = 140.11 MB/sec
Próbowałem również eksperymentu, patrząc na htop
... nie jestem pewien, jak interpretować to, co widziałem, ponieważ procesor i5 robi Hyper-Threading, ale 2 wątki na 4 osiągają około 73% użycia podczas testu, podczas gdy inne 2 wątki pozostawione nieużywane. Rzeczywiście, jeśli rozpocznę 2 procesy, które odczytują z dd
2 różnych plików (aby zapobiec buforowaniu), iotop
zgłasza w sumie około 400 MB / s. Zdecydowanie wydaje się, że jest to związane z procesorem.
Moje rozczarowanie wynika z faktu, że mój procesor i5 jest w stanie obsługiwać AES-NI . Nieszyfrowane dane są odczytywane z prędkością ponad 500 MB / s przy użyciu tych samych testów, które przeprowadziłem powyżej. Mówimy więc o zaszyfrowanej partycji, która jest co najmniej 3 razy wolniejsza.
Naprawdę nie wiem, czy moja instalacja dm-crypt korzysta z AES-NI. Oto wynik lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
Oto wynik cryptsetup
:
# cryptsetup status sda2_crypt
/dev/mapper/sda2_crypt is active and is in use.
type: LUKS1
cipher: aes-xts-plain64
keysize: 512 bits
device: /dev/sda2
offset: 4096 sectors
size: 249565184 sectors
mode: read/write
flags: discards
Czy to jest oczekiwane? Czy AES-NI nie powinien poprawiać rzeczy bardziej niż to?
Jak wyłączyć AES-NI, aby zobaczyć, czy jest jakaś różnica? I może powinienem jakoś to włączyć, ale nie znalazłem żadnych wskazówek w moich wyszukiwaniach.
Dzięki,