3

ノード バージョン v0.8.16 を使用しています。openssl 1.0.0f にバンドルされており、 と が含まれSSL_OP_NO_COMPRESSIONていSSL_MODE_RELEASE_BUFFERSます。

私のテスト SSL サーバーは、受信した https 要求に対して hello world をエコー バックし、接続を開いたままにします。私のテストでは、ssl 接続あたりのメモリ オーバーヘッドは約 150k です。

ノードでの SSL 接続のメモリ オーバーヘッドのおおよその量は? この場合、ssl メモリの使用量を減らすにはどうすればよいですか?

4

2 に答える 2

8

SSL には、次の接続ごとのスペースが必要です。

  • ソケットFD
  • 可能な最大 SSL レコードの受信バッファーに約 16k (暗号スイートによって若干異なります)
  • 出力バッファ、おそらく約 16k
  • メッセージごとの MAC を計算するスペース
  • ハンドシェイクステータス、接続ステータス、ハンドシェイク MAC など
  • 同じターゲットへの接続間で共有可能で、暗号スイート、プロトコル、プリマスター シークレット、共有シークレット、セッション ID、ピア証明書チェーン、タイムアウト変数などを含む必要がある SSL セッションへのポインター。
  • 他に思いもよらなかったこと。

さらに、TCP 接続は、ソケットの送受信バッファなどのために、カーネル スペースを消費します。

于 2012-12-30T02:57:49.700 に答える
3

SSL では、メモリ バッファ用に接続ごとに約 128K またはそれ以上 (実装によって異なります) が必要になるため、使用されるメモリの量を減らすことはおそらくできません。

于 2012-12-26T08:17:06.510 に答える