cryptsetup, LUKS, punto de referencia dm-crypt

cryptsetup, LUKS, punto de referencia dm-crypt

Estoy trabajando en un software integrado, donde utilicé cryptsetup para crear un espacio en disco cifrado a través de una conexión estándar Ethernet NFS... Me interesa comprender la velocidad de escritura que logra este disco (análisis de rendimiento simple).
Primero ejecuto un punto de referencia estándar

root@sbc-lynx:/mnt# cryptsetup benchmark                                        
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1        33098 iterations per second for 256-bit key
PBKDF2-sha256      52851 iterations per second for 256-bit key
PBKDF2-sha512      34492 iterations per second for 256-bit key
PBKDF2-ripemd160   29789 iterations per second for 256-bit key
PBKDF2-whirlpool    7062 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    26.7 MiB/s    24.5 MiB/s
 serpent-cbc   128b     6.6 MiB/s     7.3 MiB/s
 twofish-cbc   128b    10.2 MiB/s    11.0 MiB/s
     aes-cbc   256b    21.4 MiB/s    20.8 MiB/s
 serpent-cbc   256b     6.6 MiB/s     7.3 MiB/s
 twofish-cbc   256b    10.2 MiB/s    10.2 MiB/s
     aes-xts   256b     9.0 MiB/s     9.0 MiB/s
 serpent-xts   256b     7.0 MiB/s     7.2 MiB/s
 twofish-xts   256b    10.7 MiB/s    10.9 MiB/s
     aes-xts   512b     7.1 MiB/s     7.0 MiB/s
 serpent-xts   512b     7.0 MiB/s     7.1 MiB/s
 twofish-xts   512b    10.7 MiB/s    10.9 MiB/s

Sólo para fines de prueba, elijo ver eaes-cbc-256 que parece tener buen rendimiento.
Pero ahora quiero probar la velocidad real conseguida. mi NFS está montado en /mnt/ y la carpeta cifrada está montada correctamente en /home/encryptroot/. Solía:

time dd bs=5M count=1 if=/dev/zero of=/mnt/ppx conv=fsync
1+0 records in
1+0 records out
real    0m0.556s
user    0m0.000s
sys     0m0.110s

time dd bs=5M count=1 if=/dev/zero of=/home/encryptroot/ppx conv=fsync
1+0 records in
1+0 records out   
real    0m1.104s
user    0m0.000s
sys     0m0.180s

De estos resultados obtuve en la carpeta normal una velocidad de casi 9 MB/s
mientras que para la carpeta cifrada obtuve 4 MB/s
Pregunta 1) ¿Es este un método válido para evaluar la velocidad de escritura? Al utilizar el parámetro fsync, ¿esto debería evaluar el tiempo utilizado para copiar realmente el archivo en el disco (no para copiarlo en cachés)?

No estoy satisfecho con estos resultados, porque con un potencial de cifrado de 20 MB/s no puedo llenar el ancho de banda total disponible (alrededor de 9 MB/s).

Investigación final: cambié el cifrado y utilicé los aes-xts predeterminados que deberían alcanzar un máximo de 9 MB/s. Repetí

time dd bs=5M count=1 if=/dev/zero of=/home/encryptroot/ppx conv=fsync
1+0 records in
1+0 records out

real    0m2.281s
user    0m0.000s
sys     0m0.180s

Obteniendo una velocidad de escritura de 2,2 MB/s.
Pregunta 2) ¿Hay otros factores a considerar que me faltan para analizar estos resultados? ¿Es posible que la sobrecarga de los xts sea tan alta como para reducir el rendimiento? ¿Y tiene alguna otra prueba que sugerir?

Gracias

información relacionada