ฉันมี 128 GB SSD ติดตั้งอยู่ในแล็ปท็อปของฉัน (Samsung 840 Pro) บนอินเตอร์เฟส Sata 3 แล็ปท็อปนี้ยังมีโปรเซสเซอร์ i5 3210m Ivy Bridge Intel และ RAM 8 GB
ฉันติดตั้ง Ubuntu 12.10 โดยใช้โปรแกรมติดตั้งแบบกราฟิกเพื่อรับการเข้ารหัสดิสก์เต็มรูปแบบ ฉันผิดหวังเพราะฉันคาดหวังว่ารายละเอียดที่ฉันต้องให้ผลลัพธ์ที่ดีกว่าสิ่งที่ฉันได้รับ
ขณะที่ดูหน้าการเปรียบเทียบ SSDนี้อ้างว่าโปรเซสเซอร์ของฉันสามารถทำสิ่งต่อไปนี้ได้:
- ~ 500 MB / s: ด้วย AES-NI
- ~ 200 MB / 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 ของฉัน "สูงถึง 530 MB / s" และทำการdd
ทดสอบให้ผลลัพธ์ที่คล้ายกันกับข้างต้น
การเขียนข้อมูลที่เข้ารหัสนั้นก็รวดเร็วเช่นกันด้วย dm-crypt (ไม่เช่นนั้น eCryptfs ประสิทธิภาพในการเขียนต่ำกว่า 100 MB / s) ตัวเลขที่อยู่ใกล้เคียงกับข้อมูลจำเพาะของ SSD (ฉันเดาว่าการเขียนจะถูกบัฟเฟอร์หรือบางอย่าง):
# 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
ในขณะที่เขียนข้อความนี้ฉันโชคดีที่ได้รับ 183 MB / s เพราะจำนวนนี้แตกต่างกันไป โดยปกติแล้วจะอยู่ที่ประมาณ 150 MB / s แต่ฉันยังได้ใกล้ 300 MB / s ในการเริ่มระบบใหม่ แต่ประสิทธิภาพจะลดลงเหลือ 200 MB / 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 ทำ Hyper-Threading แต่มี 2 เธรดจาก 4 ที่ใช้งานประมาณ 73% ของการทดสอบในขณะที่อื่น ๆ 2 เธรดที่ไม่ได้ใช้เหลือ อันที่จริงถ้าฉันเริ่มต้น 2 กระบวนการที่อ่านด้วยdd
จาก 2 ไฟล์ที่แตกต่างกัน (เพื่อป้องกันการบัฟเฟอร์) จากนั้นiotop
รายงานทั้งหมดประมาณ 400 MB / s ดังนั้นนี่จึงให้ความรู้สึกเหมือนเป็น CPU-bound
ความผิดหวังของฉันมาจากความจริงที่ว่า i5 ประมวลผลของฉันคือความสามารถในการAES-NI ข้อมูลที่ไม่ได้เข้ารหัสกำลังอ่านมากกว่า 500 MB / 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 เพื่อดูว่ามีความแตกต่างหรือไม่? และบางทีฉันควรเปิดใช้งานอย่างใด แต่ไม่พบเคล็ดลับในการค้นหาของฉัน
ขอบคุณ