cryptsetup、LUKS、dm-crypt 基準測試

cryptsetup、LUKS、dm-crypt 基準測試

我正在開發嵌入式軟體,我使用 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 這應該評估用於真正將檔案複製到磁碟中的時間(而不是複製到快取中)?

我對此結果並不滿意,因為即使有 20 MB/s 的加密潛力,我也無法填滿可用的總頻寬(大約 9 MB/s)。

最終調查:我更改了密碼並使用了預設的 aes-xts,它應該達到我重複的最大 9MB/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的寫入速度。
Question2)在分析這些結果時我還缺少其他需要考慮的因素嗎? xts 的開銷是否可能如此之高而降低了吞吐量?還有其他測試建議嗎?

謝謝

相關內容