スティッキーセッションでSSLオフロードを使用するLinuxロードバランサーを構築したいと思います。 PoundまたはPoundとHAProxyのいずれかを使用してこれを実行したいと思います。私はこれまでこれを行ったことがなく、HAProxyとPoundの両方についてしばらく学びたいと思っていました。最後に、手を汚すための言い訳として使用するための小さなユースケースがあります。
このサイトは、スループットが最大4Mbpsのフォーラムであり、投稿や読み取りが多いと思います。したがって、高スループットのデバイスは必要ありません。同時ユーザーの方が心配です。
ただし、次のクエリがあります。
クエリ1に続いて、使用したい予備のサーバーがありますが、必要なサーバーハードウェア仕様を必要なWebアプリケーションのパフォーマンスと関連付けるにはどうすればよいですか?
私は小さな1uサーバー(PowerEdge 1850)を持っており、RAID1に2x76GB 10k Ultra 320 SCSIドライブ、2x 3GhzシングルコアXeon(2MB L2キャッシュを備えた800Mhzバス)、およびPC2-3200 400MhzRAMの6x1GBスティックを備えています。これを使いたいのですが、HAProxyやPoundの経験がないので、これが適切かどうかはわかりません。 6GBのRAMは、ハードウェアロードバランサーの仕様を見るとあまりにも多すぎると思います。他の人はCPUとHDDについてどう思いますか?
これはショッピングスレッドではないため、適切なサーバーモデルを投稿しないでください。代わりに、これがタスクに合わない場合に私が望むのは、クエリ(1)に戻って、十分な何かを構築できるようにすることです。私はサーバーの展開について多くの経験がありますが、これら2つのパッケージは経験していません。
ありがとうございました。
HAProxyとSSL:
HAProxyで直接SSLをサポートするのはごく最近のことです(まだ開発中で、約1週間前に公開されています)。そのため、タイムラインによっては、SSLをオフロードするためにstunnelやnginxなどが必要になります。何か新しいことを試してみてもかまわない場合は、ここに howto があります。
TPS、同時実行性、およびスループット:
ここでの主な要因は、おそらく1秒あたりのトランザクション数(TPS)です。したがって、負荷を予測するには、何らかの方法でこの数値を取得する必要があります。ほとんどの場合、Webログを解析する必要があります。同時実行性は、実際にはセッションを開いたままにしておく時間の関数になります。しばらく開いたままにしておくと、セッションの作成をやり直す必要がないため、応答が速く見える可能性があります(SSLに関しては、時間と費用がかかります)。ただし、大量のメモリを使い果たすほど長く開いたままにしたくはありません。
HAProxyを使用した容量の見積もり:
メモリパフォーマンスに関しては、 HAProxyドキュメント はいくつかのガイダンスを提供します:
また、接続にはそれぞれ8kBの2つのバッファと、確立された接続ごとに約17kBのRAMが消費される)の他のデータが含まれていることに注意してください。 1GBのRAMは、適切に調整されていれば、約40000〜50000の同時接続に耐えることができます。
SSLを使用すると、CPUの作業のほとんどがハンドシェイクフェーズで行われます。SSLの処理に使用しているものが生成されたキーをキャッシュできる場合は、CPUを大幅に節約できます。詳細については、 この記事 を参照してください。
この人のベンチマーク を使用して、ベースラインとしてアイデアを取得することもできます。
確実にベンチマークする必要があります:
最後に、確実にベンチマークを行う必要があります。 ここにリファレンスがあります 開始するには。私の個人的な印象では、4Mbpsではおそらく問題ないでしょう。