У мене на ноутбуці встановлений SSD об'ємом 128 Гб (Samsung 840 Pro) на інтерфейсі Sata 3. Цей ноутбук також має i5 3210 м процесор Ivy Bridge Intel та 8 ГБ оперативної пам’яті.
Я встановив Ubuntu 12.10, використовуючи графічний інсталятор, щоб отримати повне дискове шифрування. Я свого роду розчарований, тому що я очікував, що характеристики, які я маю, дадуть кращі результати, ніж те, що я отримую.
Переглядаючи цю сторінку SSD Benchmarking, він стверджує, що мій процесор:
- ~ 500 Мб / с: з AES-NI
- ~ 200 Мб / с: Без 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 Мб / с", і dd
тестування дає аналогічні результати, ніж вище.
Введення зашифрованих даних теж швидко за допомогою dm-crypt (інакше, коли eCryptfs продуктивність при записі є ненормальною, нижче 100 Мб / с), цифри близькі до специфікації 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 Мб / с, оскільки ця кількість змінюється. Зазвичай це десь 150 Мб / с, але я також наблизився до 300 Мб / с під час нового завантаження, але потім поступово продуктивність падає до рівня менше 200 Мб / с, не запускаючи жодної програми. Зауважте, що під час проведення цього тесту у мене немає інших процесів, які роблять введення / виведення (як це видно з 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 теми, які залишилися невикористаними. Дійсно, якщо я запускаю два процеси, які читаються з dd
двох різних файлів (для запобігання буферизації), то iotop
звітую загалом приблизно 400 Мб / с. Таким чином, це, безумовно, відчуває, що це пов'язано з процесором.
Моє розчарування пов'язане з тим, що мій процесор i5 здатний AES-NI . Нешифровані дані читаються зі швидкістю понад 500 Мб / с за допомогою тих же тестів, що я робив вище. Тож ми говоримо про зашифрований розділ, який принаймні в 3 рази повільніше.
Я не знаю, чи використовується моя dm-крипта 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, щоб побачити, чи є різниця? І, можливо, я мав би це якось увімкнути, але не знайшов підказок у своїх пошуках.
Дякую,