1. ホーム
  2. performance

[解決済み] SSLはどれくらいのオーバーヘッドを発生させるのですか?

2022-04-23 02:08:43

質問

唯一の明確な答えがないことは承知していますが、一般的な <ストライク 桁違いの推定値 SSLと非暗号化ソケット通信の暗号化オーバーヘッドを概算で教えてください。アプリケーションレベルの処理はカウントせず、通信処理と配線時間についてのみ話しています。

更新情報

があります。 HTTPSとHTTPの比較に関する質問 しかし、私はスタックの下位を見ることに興味があります。

(混乱を避けるために、quot;order of magnitude"というフレーズに置き換えたのですが、これは正式なCompSciの意味ではなく、非公式な専門用語として使っていました。もちろん、もし私が があった。 正式には、真のギークとして、10進数ではなく2進数で考えていたでしょう!;-)

更新情報

コメントでのリクエストにより、私たちは持続的な接続でかなりの大きさのメッセージ(1k-10kの範囲)について話していると仮定します。そのため、接続のセットアップやパケットオーバーヘッドは重要な問題ではありません。

解決方法は?

桁数:0です。

つまり、TLSを追加しても、スループットが半分になるなどということはないのです。の回答は 重複する質問 は、アプリケーションのパフォーマンスとSSLのオーバーヘッドを比較することに重点を置いています。この質問は特にアプリケーションの処理を除外し、非SSLとSSLのみを比較しようとするものです。最適化する際にパフォーマンスのグローバルな視点を持つことは理にかなっていますが、この質問はそれを求めているのではありません。

SSLの主なオーバーヘッドはハンドシェイクです。そこでは高価な非対称暗号が行われます。ネゴシエーションの後、比較的効率の良い対称暗号が使われます。そのため、多くの接続が行われるHTTPSサービスでは、SSLセッションを有効にすることが非常に有効です。長時間の接続の場合、この "end-effect" はそれほど重要ではなく、セッションはそれほど有用ではありません。


以下は 面白い逸話がありますね。 Google が Gmail を HTTPS に切り替えたとき、ネットワークハードウェアや新しいホストなど、追加リソースは一切必要ありませんでした。CPUの負荷が1%程度増加しただけです。