Sata 3 인터페이스의 랩톱 (Samsung 840 Pro)에 128GB SSD가 설치되어 있습니다. 이 노트북에는 i5 3210m 아이비 브릿지 인텔 프로세서와 8GB RAM이 있습니다.
전체 디스크 암호화를 위해 그래픽 설치 프로그램을 사용하여 Ubuntu 12.10을 설치했습니다. 나는 내가 얻는 것보다 더 나은 결과를 얻을 수 있어야하는 사양을 기대했기 때문에 약간 실망했습니다.
이 SSD 벤치마킹 페이지를 보면서 내 프로세서가 다음을 수행 할 수 있다고 주장합니다.
- ~ 500MB / s : AES-NI 사용
- ~ 200MB / s : AES-NI 미포함
내가 얻은 숫자를 보면 AES-NI가 활성화되지 않은 것 같습니다. 그러나 먼저 ...
암호화되지 않은 데이터를 읽는 것이 빠릅니다.
# 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
실제로 SSD의 "최대 530MB / s"사양에 가깝고 dd
테스트를 수행 하면 위와 비슷한 결과가 나타납니다.
dm-crypt를 사용하여 암호화 된 데이터를 쓰는 것도 빠릅니다 (그렇지 않으면 eCryptfs를 사용하면 쓰기 성능이 100MB / s보다 끔찍합니다).
# 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
그러나 암호화 된 데이터를 읽는 것은 또 다른 이야기입니다.
# 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
이 메시지를 쓰는 동안이 숫자가 다양하기 때문에 실제로 183MB / s를 얻는 것이 운이 좋았습니다. 일반적으로 150MB / s 정도이지만 새로 부팅하면 300MB / s에 가까워 지지만 앱을 시작하지 않고도 성능이 200MB / s 미만으로 점차 떨어집니다. 이 테스트를 수행하는 동안 (와 같이) I / O를 수행하는 다른 프로세스는 없습니다 iotop
.
또한 hdparm
더 나쁜 결과를 얻는 테스트가 있습니다 .
# 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
또한 htop
i5 프로세서가 하이퍼 스레딩을 수행하기 때문에 내가 본 것을 해석하는 방법을 모르지만 테스트 중 사용량의 약 73 %가되는 4 개 중 2 개 스레드를 보았습니다. 사용하지 않은 채로 2 개의 스레드. 실제로 dd
(버퍼링을 방지하기 위해) 2 개의 개별 파일에서 읽는 2 개의 프로세스를 시작 iotop
하면 총 약 400MB / s가보고됩니다. 따라서 이것은 CPU 바운드 인 것 같습니다.
내 i5 프로세서가 AES-NI 가능하다는 사실에 실망 합니다. 암호화되지 않은 데이터는 위에서했던 것과 동일한 테스트를 사용하여 500MB / s 이상으로 읽습니다. 따라서 암호화 된 파티션이 최소 3 배 느리다는 이야기입니다.
내 dm-crypt 설치가 AES-NI를 사용하고 있는지 잘 모르겠습니다. 출력은 다음과 같습니다 lsmod
.
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
출력은 다음과 같습니다 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
그렇다면 이것이 예상됩니까? AES-NI가 이것보다 더 많은 것을 개선해서는 안됩니까?
또한 차이점이 있는지 확인하기 위해 AES-NI를 비활성화하는 방법은 무엇입니까? 어쩌면 내가 어떻게 든 활성화해야하지만 검색에서 팁을 찾지 못했습니다.
감사,