2012-01-09 4 views
0

HTTP経由で各マシンで毎秒200Kリクエストを処理できるシステムを設計する必要があります。 wcfサービスをwinサービスでホストする必要があります。 wcfでこのような要件を処理できるのだろうか? 最高のシステム設定/最適な設定は何ですか?wcfで200Kリクエストを処理する方法

マシン自体はかなり重い32GのRAMおよび8コア(以上)で、かつ

を必要に応じてアップグレードすることができ、私は、WCFは、HTTPを使用して各単一のマシンに要求のような量を扱うことはできますか?

+0

システムが要求を受け取ったときに何をしますか? –

+2

比較のため、Googleは1秒あたり34,000件の検索に対処するために[推定](http://searchengineland.com/by-the-numbers-twitter-vs-facebook-vs-google-buzz-36709)です。いくつかの大まかな計算:1台のマシンには、接続に使用できる約60kのポートがあります。ですから、この数の同時リクエストは決してありません。したがって、要求が処理されるまでに0.3秒近くかかる場合は、ポート数を最大限に活用しています。正直なところ、1台のマシンで多くのリクエストを処理できるとは思いません。 – Andreas

答えて

3

これを1台のマシンで実行することは、かなり困難になる可能性があります(実際には可能です)。システムを水平にする方が良いでしょう。必要に応じて多くのマシンを追加することができます。どのようにするかは、システムが実際に何をする必要があるかによって異なります。それが永続状態を必要としない単純な計算であれば、あまりにも難しくはありません。各リクエストで実際に読み書きする必要がある形式のストレージとのやりとりがある場合、それはずっと難しくなります。永続テクノロジを選択することは、すべてをハングアップさせるのに非常に重要です。

水平方向のスケーリングには他にも利点があります。特に、ダウンタイムなしでシステムをアップグレードして(慎重に)、巨大なシングルポイント障害を取り除くことができます。

0

これについてさらに情報を提供する必要があります。

リクエストを受け取り、すぐに処理する必要がありますか?
リクエストデータを保存し、処理を他のスレッド/プロセスに委譲できますか?システムを上げずに拡張する方法はありますか?
これは事実、展開することができるインフラストラクチャの唯一の部分ですか?

リクエスト処理中に何をしたいのかを尋ねることから始めます。ボトルネックはどうなるのか。

関連する問題