Tengo un SSD de 128 GB instalado en mi computadora portátil (Samsung 840 Pro) en una interfaz Sata 3. Esta computadora portátil también tiene un procesador Intel Ivy Bridge i5 3210m y 8 GB de RAM.
Instalé Ubuntu 12.10, usando el instalador gráfico para obtener el cifrado de disco completo. Estoy un poco decepcionado, porque esperaba las especificaciones que tengo para obtener mejores resultados de lo que obtengo.
Mientras mira esta página de evaluación comparativa de SSD , afirma que mi procesador puede hacer:
- ~ 500 MB / s: con AES-NI
- ~ 200 MB / s: sin AES-NI
En cuanto a los números que obtengo, creo que es posible que no tenga habilitado AES-NI. Pero primero ...
Leer datos sin cifrar es rápido:
# 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
Eso está realmente cerca de las especificaciones de mi SSD de "hasta 530 MB / s" y hacer una dd
prueba produce resultados similares a los anteriores.
La escritura de datos cifrados también es rápida con dm-crypt (de lo contrario, con eCryptfs el rendimiento en la escritura es abismal, inferior a 100 MB / s), los números están cerca de la especificación SSD (supongo que la escritura está protegida o algo así):
# 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
Sin embargo, leer datos cifrados es otra 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
Mientras escribía este mensaje, tuve la suerte de obtener 183 MB / s, porque este número varía. Normalmente es de alrededor de 150 MB / s, pero también obtuve cerca de 300 MB / s en un arranque nuevo, pero luego el rendimiento cae gradualmente a menos de 200 MB / s sin que yo inicie ninguna aplicación. Tenga en cuenta que al realizar esta prueba no tengo otros procesos que estén haciendo E / S (como se ve con iotop
).
Además, aquí está la prueba con la hdparm
que se obtienen peores resultados:
# 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
También probé el experimento mirando htop
... no estoy seguro de cómo interpretar lo que vi, ya que el procesador i5 hace Hyper-Threading, pero 2 de 4 subprocesos utilizaron aproximadamente el 73% durante la prueba, mientras que el otro 2 hilos donde se dejaron sin usar. De hecho, si inicio 2 procesos que leen dd
desde 2 archivos distintos (para evitar el almacenamiento en búfer), iotop
informa un total de aproximadamente 400 MB / s. Entonces esto definitivamente se siente como si estuviera vinculado a la CPU.
Mi decepción proviene del hecho de que mi procesador i5 es capaz de AES-NI . Los datos sin cifrar se leen a más de 500 MB / s utilizando las mismas pruebas que hice anteriormente. Estamos hablando de que una partición encriptada es al menos 3 veces más lenta.
Realmente no sé si mi instalación de dm-crypt está usando AES-NI. Aquí está la salida de lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
Aquí está la salida de 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
Entonces, ¿se espera esto? ¿No debería AES-NI mejorar las cosas más que esto?
Además, ¿cómo deshabilitar AES-NI para ver si hay alguna diferencia? Y tal vez debería habilitarlo de alguna manera, pero no he encontrado ningún consejo en mis búsquedas.
Gracias,
fuente