2

SSL接続に必要なメモリ量を正確に取得する方法はerlangにありますか?

今のところ、メモリ内のbeam.smpサイズ全体(初期サイズを差し引いたもの)を接続されているクライアントの数で割って推測しています...

R15B01を使用しています

SSL接続はgen_serverによって処理されます。

process_info(spawn(Fun), memory).

gcの呼び出し後に私にください:

{memory,2108} 

これには明らかにSSLソケット接続サイズが含まれていません。

4

1 に答える 1

2

単一のSSL接続を処理する場合でも、Erlangはいくつかの個別のプロセス(証明書db、sslマネージャー、sslセッションなど)を開始し、それらの各プロセスにはデータ用の個別のストレージがある場合があります。したがって、接続に関する情報を記録し続ける場所がかなりあるため、各接続に必要なメモリの量を明確に答えることは困難です。

見積もりが必要な場合は、次のようにします。

  1. http://pdincau.wordpress.com/2011/06/22/a-brief-introduction-to-ssl-with-erlang/で説明されているように、SSLサーバーとSSLクライアントを開始しました
  2. TotalMemory1 = proplists:get_value(total, memory()).サーバーセッションに保存されました。
  3. 別のクライアントセッションからさらに99のクライアント接続を開こうとしました。
  4. 計算TotalMemory2 = proplists:get_value(total, memory()).
  5. を除算することにより、単一の接続が使用するメモリの償却量を見つけました(TotalMemory2 - TotalMemory1)/99
于 2012-06-02T12:04:23.287 に答える