Apache Bench: SSL ハンドシェイクの失敗は同時実行レベルに直接関係している

Apache Bench: SSL ハンドシェイクの失敗は同時実行レベルに直接関係している

ab でいくつかテストを実行したところ、同時実行レベルを 155 以上にすると次の結果が得られました。

SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
Completed 100 requests
Completed 200 requests
Finished 200 requests

リクエストは引き続き成功します:

Concurrency Level:      200
Time taken for tests:   14.481 seconds  
Complete requests:      200
Failed requests:        0

何度もテストしましたが、同時実行数が 155 を超えた場合にのみ SSL ハンドシェイクが失敗します。これらがどのように直接関連しているのか説明できる人はいますか?

答え1

SSL ハンドシェイクは、接続が一般的に失敗または中断された場合、また SSL エラーが原因で失敗することがあります。また、利用可能なエントロピーの不足によりタイムアウトになった場合にも失敗することがあります。

おそらく、サーバーに過度の負荷をかけすぎているだけでしょう。何が失敗しているのかを正確に判断するには、ここでは情報が足りません。

このテストにおける成功の定義は奇妙で疑わしいものです。しかし、記憶が正しければ、エラー コード 5 はソケットが閉じられていることを示しています。おそらく、接続は SSL ネゴシエーションが成功した後ではなく、開始された時点で成功と判断されるのでしょうか?

関連情報