1秒あたり1Kの受信HTTP POSTリクエスト(各リクエストには10​​~50Kのファイルが含まれます)

1秒あたり1Kの受信HTTP POSTリクエスト(各リクエストには10​​~50Kのファイルが含まれます)

どのような種類のサーバー設定をサポートする必要があるかを把握しようとしています。

  • 1秒あたり1KのHTTP POSTリクエスト
  • 各投稿には 5~50K (平均 25 キロバイト) の XML ファイルが含まれます。

専用ボックスで 100 Mb/s の接続が得られたとしても (通常は 10 Mb/s ですが、アップグレードできます)、私の計算では約 12K kb/s となり、1 秒あたり約 480 個の 25kb ファイルになります。

つまり、それぞれ 100 Mb/s 接続を備えたサーバーが 3 台ほど必要になります。

HAProxy を実行している単一のサーバーは、リクエストを他のサーバーにリダイレクトできますか? それとも、他のサーバーにプロキシするには、100 Mb/s を超える速度を処理できる別のものを入手する必要があることを意味しますか?

私の計算が間違っている場合は、訂正していただければ幸いです。

答え1

まず、帯域幅についてのみ質問されているため、サーバーのサイズは正しく設定されていると想定します。

次に、最悪のシナリオ、つまり 1,000 件のリクエストすべてが 50K のファイルを投稿するというシナリオを想定して設計する必要があります。

次に、帯域幅の測定単位であるバイト/秒ではなくビット/秒にすべてを正規化します。

つまり、(50 * 8) * 1000 = 400,000 となります。Mbps に換算すると 400 になります。ここで、TCP とイーサネットによって追加される約 20% のオーバーヘッドを追加する必要があり、最悪の場合 480 mbps になります。

HAProxy インスタンスは、すべてのトラフィックを処理するためにギガビットである必要があります。また、その背後で 100 Mbps で稼働するサーバーが少なくとも 4 台必要になります。

ここで注意すべき点は、これらの速度はインターネットへの接続速度であるため、サーバー間の速度がどれくらいかプロバイダーに問い合わせる必要があります。良いプロバイダーであれば、サーバー間の接続はギガビットなので、インターネットの使用状況だけを気にすればよいでしょう。

関連情報