Tôi có ổ SSD 128 GB được cài đặt trong máy tính xách tay của mình (Samsung 840 Pro) trên giao diện Sata 3. Máy tính xách tay này cũng có bộ xử lý Intel Bridge i5 3210m và RAM 8 GB.
Tôi đã cài đặt Ubuntu 12.10, sử dụng trình cài đặt đồ họa để mã hóa toàn bộ đĩa. Tôi hơi thất vọng, vì tôi đã mong đợi thông số kỹ thuật tôi phải mang lại kết quả tốt hơn những gì tôi nhận được.
Trong khi nhìn vào trang Điểm chuẩn SSD này, nó tuyên bố rằng bộ xử lý của tôi có thể thực hiện:
- ~ 500 MB / s: Với AES-NI
- ~ 200 MB / s: Không có AES-NI
Nhìn vào những con số tôi nhận được, tôi nghĩ rằng tôi có thể không kích hoạt AES-NI. Nhưng trước tiên ...
Đọc dữ liệu không được mã hóa là nhanh chóng:
# 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
Điều đó thực sự gần với thông số kỹ thuật của SSD của tôi là "lên tới 530 MB / s" và thực hiện dd
thử nghiệm mang lại kết quả tương tự như trên.
Việc ghi dữ liệu được mã hóa cũng nhanh chóng với dm-crypt (nếu không với eCryptfs, hiệu suất khi viết rất tệ, thấp hơn 100 MB / s), các con số gần với thông số SSD (tôi đoán việc ghi được đệm hoặc một cái gì đó):
# 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
Đọc dữ liệu được mã hóa là một câu chuyện khác:
# 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
Trong khi viết tin nhắn này, tôi thực sự đã may mắn nhận được 183 MB / s, vì con số này thay đổi. Thông thường, khoảng 150 MB / giây, nhưng tôi cũng đạt gần 300 MB / giây khi khởi động mới, nhưng sau đó hiệu suất giảm dần xuống dưới 200 MB / giây mà không cần tôi khởi động bất kỳ ứng dụng nào. Xin lưu ý rằng trong khi tiến hành kiểm tra này, tôi không có quy trình nào khác đang thực hiện I / O (như đã thấy iotop
).
Ngoài ra, đây là thử nghiệm hdparm
mang lại kết quả tồi tệ hơn:
# 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
Tôi cũng đã thử nghiệm bằng cách xem xét htop
... không biết làm thế nào để diễn giải những gì tôi thấy, vì bộ xử lý i5 thực hiện Hyper-Threading, nhưng 2 luồng trong số 4 trong đó sẽ chiếm khoảng 73% lượng sử dụng trong quá trình thử nghiệm, trong khi cái còn lại 2 chủ đề còn lại không sử dụng. Thật vậy, nếu tôi bắt đầu 2 quá trình đang đọc dd
từ 2 tệp riêng biệt (để ngăn chặn bộ đệm), thì iotop
báo cáo tổng cộng khoảng 400 MB / s. Vì vậy, điều này chắc chắn cảm thấy như nó bị ràng buộc CPU.
Sự thất vọng của tôi đến từ việc bộ xử lý i5 của tôi có khả năng AES-NI . Dữ liệu không được mã hóa đang được đọc với tốc độ trên 500 MB / s bằng các thử nghiệm tương tự tôi đã làm ở trên. Vì vậy, chúng ta đang nói về một phân vùng được mã hóa chậm hơn ít nhất 3 lần.
Tôi thực sự không biết nếu cài đặt dm-crypt của tôi đang sử dụng AES-NI. Đây là đầu ra của lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
Đây là đầu ra của 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
Vì vậy, điều này có được mong đợi không? AES-NI không nên cải thiện nhiều thứ hơn thế này sao?
Ngoài ra, làm cách nào để tắt AES-NI để xem có sự khác biệt nào không? Và có lẽ tôi nên kích hoạt nó bằng cách nào đó, nhưng không tìm thấy bất kỳ lời khuyên nào trong các tìm kiếm của tôi.
Cảm ơn,