プロキシ サーバーで SSL を有効にしたところ、パフォーマンスが毎秒約 17,000 リクエストから毎秒 5,000 リクエストに低下したことがわかりました。私は Netty の安全なチャットの例のコードに従いましたが、何か違うことをしたとは思いません。
プロキシで間違いを犯したかどうかを確認するために、ダミーサーバーを作成しました。通常の http モードでダミー SSL サーバーを実行すると、1 秒あたり約 50k のリクエストが可能です。ダミー サーバーで SSL を有効にすると、1 秒あたり 28,000 リクエストに低下します。
私が間違っていることはありますか?足りないものはありますか?
私はJDK 6を使用してコードをコンパイルし、JDK 7u4で実行しています。Netty-3.5.0 も使用しています。zeusbench を使用してテストを実行しています。テスト パラメータは次のとおりです。 zeusbench -n 10000 -c 100 -k -C RC4_SHA "https:///"
ソース: http://pastebin.com/iahqr3zT
編集 1: JProfiler を介してダミー サーバーを実行しました。パイプライン ファクトリでの SSLContext.createSSLEngine 呼び出しには、(平均で) 55,005 マイクロ秒かかります (この平均は、メソッドの 540 回の呼び出しから計算されています)。
channelConnected での SslHandler.handshake 呼び出しには、(平均で) 46,284 マイクロ秒かかります (この平均は、メソッドの 540 回の呼び出しから計算されています)。
createSSLEngine の呼び出しに関して Netty ができることはあまりないことは理解していますが、SslHandler.handshake をもっとうまく調整できますか? エンジン自体の生成とほぼ同じくらいの時間がかかります。