J'ai un SSD de 128 Go installé sur mon ordinateur portable (Samsung 840 Pro) sur une interface Sata 3. Cet ordinateur portable dispose également d'un processeur Intel Ivy Bridge i5 3210m et de 8 Go de RAM.
J'ai installé Ubuntu 12.10, en utilisant le programme d'installation graphique pour obtenir le chiffrement complet du disque. Je suis un peu déçu, car je m'attendais à ce que les spécifications me donnent de meilleurs résultats que ce que j'obtiens.
En regardant cette page de benchmarking SSD, il prétend que mon processeur est capable de faire:
- ~ 500 Mo / s: avec AES-NI
- ~ 200 Mo / s: sans AES-NI
En regardant les chiffres que j'obtiens, je pense que je ne peux pas avoir AES-NI activé. Mais d'abord ...
La lecture des données non cryptées est rapide:
# 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
C'est en fait proche des spécifications de mon SSD de "jusqu'à 530 Mo / s" et faire un dd
test donne des résultats similaires à ceux ci-dessus.
L'écriture de données cryptées est également rapide avec dm-crypt (sinon avec eCryptfs, les performances d'écriture sont abyssales, inférieures à 100 Mo / s), les nombres étant proches de la spécification SSD (je suppose que l'écriture est tamponnée ou quelque chose):
# 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
La lecture de données cryptées est cependant une autre histoire:
# 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
En écrivant ce message, j'ai eu la chance d'obtenir 183 Mo / s, car ce nombre varie. Normalement, c'est quelque part autour de 150 Mo / s, mais j'ai également obtenu près de 300 Mo / s sur un nouveau démarrage, mais les performances chutent progressivement à moins de 200 Mo / s sans que je démarre aucune application. Notez que pendant ce test, je n'ai aucun autre processus qui effectue des E / S (comme vu avec iotop
).
En outre, voici le test avec hdparm
lequel les résultats sont pires:
# 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
J'ai également essayé l'expérience en regardant htop
... je ne sais pas comment interpréter ce que j'ai vu, puisque le processeur i5 fait de l'hyper-threading, mais 2 threads sur 4 où ils vont à environ 73% d'utilisation pendant le test, tandis que l'autre 2 fils où laissé inutilisé. En effet, si je démarre 2 processus qui lisent à dd
partir de 2 fichiers distincts (pour éviter la mise en mémoire tampon), je iotop
signale alors un total d'environ 400 Mo / s. On a donc vraiment l'impression que c'est lié au CPU.
Ma déception vient du fait que mon processeur i5 est capable d' AES-NI . Les données non chiffrées sont lues à plus de 500 Mo / s en utilisant les mêmes tests que j'ai fait ci-dessus. Nous parlons donc d'une partition chiffrée au moins 3 fois plus lente.
Je ne sais pas vraiment si mon installation dm-crypt utilise AES-NI. Voici la sortie de lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
Voici la sortie 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
Alors, est-ce attendu? L'AES-NI ne devrait-il pas améliorer les choses plus que cela?
De plus, comment désactiver AES-NI pour voir s'il y a une différence? Et peut-être que je devrais l'activer d'une manière ou d'une autre, mais je n'ai trouvé aucun conseil dans mes recherches.
Merci,