Eu tenho um SSD de 128 GB instalado no meu laptop (Samsung 840 Pro) em uma interface Sata 3. Este laptop também possui um processador i5 3210m Ivy Bridge Intel e 8 GB de RAM.
Eu instalei o Ubuntu 12.10, usando o instalador gráfico para obter criptografia de disco completo. Estou meio desapontado, porque esperava que as especificações tivessem resultados melhores do que o que recebi.
Ao olhar para esta página de benchmarking de SSD , ele afirma que meu processador é capaz de:
- ~ 500 MB / s: com AES-NI
- ~ 200 MB / s: sem AES-NI
Olhando para os números que recebo, acho que posso não ter o AES-NI ativado. Mas primeiro ...
A leitura de dados não criptografados é rápida:
# 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
Isso é realmente próximo das especificações do meu SSD de "até 530 MB / s" e fazer um dd
teste produz resultados semelhantes aos acima.
A gravação de dados criptografados também é rápida com o dm-crypt (caso contrário, com o eCryptfs, o desempenho na gravação é abismal, inferior a 100 MB / s), com os números próximos à especificação do SSD (acho que a gravação está em buffer ou algo assim):
# 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
Ler dados criptografados é outra história:
# 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
Enquanto escrevia esta mensagem, tive a sorte de obter 183 MB / s, porque esse número varia. Normalmente, é algo em torno de 150 MB / s, mas também cheguei perto de 300 MB / s em uma nova inicialização, mas o desempenho cai gradualmente para menos de 200 MB / s sem que eu inicie nenhum aplicativo. Observe que, durante a realização deste teste, não tenho outros processos que executam E / S (como visto em iotop
).
Além disso, aqui está o teste com o hdparm
qual produz resultados piores:
# 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
Eu também tentei o experimento examinando htop
... não sei como interpretar o que vi, já que o processador i5 faz Hyper-Threading, mas 2 threads em 4 são usados em 73% do uso durante o teste, enquanto o outro 2 threads onde não foram utilizados. De fato, se eu iniciar 2 processos que estão lendo com dd
2 arquivos distintos (para impedir o armazenamento em buffer), iotop
reporte um total de aproximadamente 400 MB / s. Então isso definitivamente parece vinculado à CPU.
Minha decepção vem do fato de que meu processador i5 é capaz de AES-NI . Dados não criptografados estão sendo lidos a mais de 500 MB / s usando os mesmos testes que fiz acima. Então, estamos falando de uma partição criptografada sendo pelo menos três vezes mais lenta.
Realmente não sei se minha instalação do dm-crypt está usando o AES-NI. Aqui está a saída de lsmod
:
# lsmod | grep aes
aesni_intel 51038 35
cryptd 20404 10 ghash_clmulni_intel,aesni_intel
aes_x86_64 17256 1 aesni_intel
Aqui está a saída 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
Então, isso é esperado? A AES-NI não deveria melhorar mais do que isso?
Além disso, como desativar o AES-NI para ver se há alguma diferença? E talvez eu deva ativá-lo de alguma forma, mas não encontrei nenhuma dica em minhas pesquisas.
Obrigado,