私はcryptsetupを使用してNFSイーサネット標準接続を介して暗号化されたディスクスペースを作成する組み込みソフトウェアを開発しています...このディスクで達成された書き込み速度を知りたいです(簡単なパフォーマンス分析)。
まず、標準のベンチマークを実行します。
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
テスト目的でパフォーマンスが良いと思われるeaes-cbc-256を選択しました。
しかし、今実際に達成された速度をテストしたいと思います。私のNFSは/ mnt /にマウントされ、暗号化されたフォルダは/ home / encryptroot /に正しくマウントされました。私は以下を使用しました:
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
この結果、通常のフォルダの場合はほぼ9 MB / s
、暗号化されたフォルダの場合は4 MB / sが得られました
。質問1)これは書き込み速度を評価する有効な方法ですか? fsyncに引数を使用すると、ファイルを実際にディスクにコピーするのにかかる時間を評価する必要があります(キャッシュにコピーするのとは対照的です)。
20MB/s の暗号化可能性があっても、使用可能な総帯域幅(約 9MB/s)を満たすことができなかったため、この結果は満足できません。
最終調査:パスワードを変更してデフォルトのaes-xtsを使用しましたが、繰り返される最大値である9 MB / sに達する必要があります。
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
2.2MB/sの書き込み速度を取得します。
質問2)これらの結果を分析する際に考慮すべき他の要因はありますか? xtsのオーバーヘッドが高すぎてスループットが低下する可能性はありますか?他のテスト提案がありますか?
ありがとう