今回、マイクロサーバ技術課にてDebianのOpenSSLを再構築、速度検証を行った結果を、当blogにて報告します。
<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40
OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
1.OpenSSLの作成
開発環境の準備
SSD併用モードの検証機を用意します。
以下のコマンドを入力して、ビルド環境を作成します。
# apt-get install build-essential devscripts
# apt-get build-dep openssl
# apt-get source opnessl
# apt-get build-dep openssl
# apt-get source opnessl
OpenSSLのビルド
configはデフォルトで。
# cd openssl-1.0.1e
# ./config
# make
# ./config
# make
2.ベンチマーク
以下のopensslのオプションコマンドによるベンチマークを行いました。
# openssl speed md5 sha rc4 aes-128-cbc aes-256-cbc -elapsed
elapsedオプション このオプションを付けた場合は、経過時間に実時間を使用します。
付けない場合は、経過時間にユーザ時間を使用します。
( timeコマンドでいうところのrealを使うかuserを使うかの違いです。)
# time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
real 0m0.000s
user 0m0.000s
sys 0m0.000s
AX3
MD5
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 3959.72k | 14570.50k | 45317.27k | 96043.04k | 142521.75k |
rebuild | 3176.47k | 11748.89k | 38143.49k | 86815.81k | 139127.92k |
SHA
SHA1
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 4118.90k | 13892.91k | 37209.22k | 64278.28k | 81364.79k |
rebuild | 3258.12k | 11657.12k | 35595.82k | 73223.14k | 105856.43k |
SHA256
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 1185.47k | 2831.95k | 21233.46k | 27692.57k | 30383.88k |
rebuild | 9166.13k | 22245.57k | 40425.80k | 50926.48k | 55104.13k |
SHA512
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 1001.78k | 4010.72k | 5859.25k | 8083.48k | 9087.40k |
rebuild | 2900.56k | 11631.05k | 16581.49k | 22607.95k | 25313.55k |
RC4
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 76616.54k | 92183.77k | 99732.75k | 101792.74k | 101980.87k |
rebuild | 86311.48k | 97458.94k | 101188.81k | 102165.26k | 101828.47k |
AES
AES 128 CBC
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 19698.47k | 24733.85k | 26619.24k | 27161.86k | 27324.81k |
rebuild | 37864.58k | 48231.72k | 52411.28k | 53509.61k | 53727.00k |
AES 256 CBC
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 15526.19k | 18610.97k | 19649.15k | 19927.86k | 20001.00k |
rebuild | 31212.60k | 37900.44k | 40606.87k | 41398.18k | 41575.08k |
MD5
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 1498.52k | 5339.41k | 15721.63k | 30893.06k | 42628.34k |
rebuild | 1175.85k | 4268.61k | 13349.97k | 28286.55k | 42101.42k |
SHA
SHA1
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 1297.46k | 4093.24k | 10183.34k | 16189.44k | 19507.88k |
rebuild | 1140.14k | 3761.33k | 9810.09k | 16310.86k | 20307.97k |
SHA256
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 1185.47k | 2831.95k | 5132.54k | 6406.29k | 6927.70k |
rebuild | 2689.97k | 6131.58k | 10653.60k | 13119.15k | 14002.60k |
SHA512
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 153.51k | 617.22k | 871.08k | 1195.69k | 1349.91k |
rebuild | 729.19k | 2926.45k | 4139.18k | 5635.75k | 6278.72k |
RC4
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 22444.42k | 25887.09k | 27038.89k | 27221.73k | 27396.78k |
rebuild | 22965.96k | 26169.81k | 27001.28k | 27336.02k | 27303.04k |
AES
AES 128 CBC
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 4880.32k | 5504.11k | 5666.79k | 5733.38k | 5720.79k |
original | 7606.46k | 8501.16k | 8808.19k | 8854.03k | 8899.24k |
AES 256 CBC
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | |
---|---|---|---|---|---|
original | 3751.82k | 4089.11k | 4202.92k | 4214.39k | 4232.53k |
rebuild | 5890.15k | 6452.46k | 6589.41k | 6650.88k | 6660.10k |
AX3
- AESは2倍程度高速となります。
- MD5は遅くなります。
- RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。
- AESは3割程度高速となります。
- MD5は遅くなります。
- RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。
暗号化アルゴリズム単位で指定できるので、MD5を指定しない前提であれば、リビルドをすることにより速度向上を見込めます。
0 件のコメント:
コメントを投稿