1

私は Elastic Beanstalk が本当に好きで、Tomcat7 64 ビット コンテナーで SSL を使用して Web アプリケーション (Spring MVC、Hibernate など) を起動して実行することができました。

私にとって大きな懸念事項はパフォーマンスです (ここでは Amazon クラウドを使用すると役立つと思いました)。

サーバーのパフォーマンスをベンチマークするために、blitz.io を使用しています (Amazon クラウドを使用して、複数のクライアントが Web サービスに同時にアクセスできるようにします)。

私の非常に最初の簡単なパフォーマンス テストでは、すでに疑問に思っていました。ヘルス チェック URL のベンチマークを行いました (基本的には「I'm ok」と表示されます)。

SSL なし: 問題ないように見えます。13 ヒット/秒、応答時間 9 ミリ秒 230 ヒット/秒、応答時間 8 ミリ秒

SSL あり: あまり良くありません。応答時間 44 ミリ秒で 13 ヒット/秒 (わかりました、これは暗号化のオーバーヘッドのために少し大きくなるはずです) 3.6 秒の応答時間で 30 ヒット/秒!

高くすると、接続タイムアウトが発生しました(タイムアウト= 10秒)。

バックグラウンドでより大きな EC2 インスタンスを使用してみましたが、基本的に同じ結果が得られました。

私が間違っていなければ、EC2 インスタンスの前のロード バランサーが SSL 暗号化のエンドポイントとして機能します。このパフォーマンスを向上させるにはどうすればよいですか?

これは弾性豆の木で行うことができますか? または、独自のロードバランサーなどをセットアップする必要がありますか?

また、Heroku を使用していくつかのテストを行いました (テクノロジー スタックはわずかに異なりますが、play! と SpringMVC の比較)。ここでも応答時間の増加が見られましたが、ほぼ一定のままでした。彼らは非常に高性能な SSL エンドポイントを使用していると思います。Elastic Beanstalk でそれを取得するにはどうすればよいですか?

4

2 に答える 2

4

私のテスト方法に欠陥があったようです。

Amazon の Elastic Load Balancer は、1 秒あたり最大 10,000 件の SSL リクエストに対応しているようです。

この素晴らしい記事を参照してください: http://blog.mattheworiordan.com/post/24620577877/part-2-how-elastic-are-amazon-elastic-load-balancers

于 2012-07-23T15:43:11.260 に答える
1

SSL では、安全な伝送チャネルを開く前にハンドシェークが必要です。数回のラウンドトリップを伴うハンドシェークが完了すると、データが送信されます。

ロード テスターを使用してページをヒットしているときは、ヒットごとにハンドシェイクを行っています。すでに確立されているセッションを再利用していません。

それはブラウザが行う方法ではありません。ブラウズは一度ハンドシェイクを行い、一定期間、後続のすべてのリクエストに対して開いている暗号化されたセッションを再利用します。

ですから、結果についてはあまり心配していません。www.browsermob.com のようなツールを試して、多くの画像、js、css などを含むページ全体を SSL と非 SSL でロードするのにかかる時間を確認することをお勧めします。それは公正な比較になります。

役に立ちますか?

于 2012-07-09T14:57:03.303 に答える