2009-10-28 8 views
13

私は、TCPプロトコルでシングルポートでリッスンする.Netサービスを持っています。クライアントは、しばらくの間(数分から数時間)データを接続してから送信します。Windows Server 2008の最大tcp/ip接続

Windows 2008サーバーの接続数に制限はありますか?今は最大50人のユーザーがいるので、私は何もヒットしませんでした。計画は何千人ものユーザーがいることですので、今後問題が発生するかどうかを知りたいと思います。

編集:
クラウドは答えとして、Windows Server 2008の一部のバージョンではいくつかの制限がこれらの制限上の任意の参照が存在しているようですか?私はGoogleに挑戦しましたが、ハーフバウンドTCP接続の制限に関する記事を返します。

答えて

17

何千人ものユーザーがいますか?

これまで、Windows 2003 Server上でいくつかのTCP/IPクライアント/サーバー接続テストを実行し、合理的に低い仕様のVMで70,000を超える接続を管理しました。 (詳細はhttp://www.lenholgate.com/blog/2005/10/the-64000-connection-question.htmlを参照してください)。 Windows 2008 Serverが2003 ServerとIMHO未満に制限されていると、Cloudのリンクが多すぎるためあまりにも曖昧であると私は非常に驚くでしょう。このような疑問がたくさん出てきて、私は実際にあなたが実際にここで心配すべきだと本当に思っていない理由についてブログに書いた:http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html

個人的に私はそれを試してみるでしょう。使用する予定のWindows 2008 Serverバージョンに固有の制限がない場合でも、メモリ、プロセッサの速度、およびサーバーの設計に基づく実際的な制限があります。

いくつかの「汎用」テストを実行する場合は、マルチクライアント接続テストと関連するエコーサーバーを使用できます。詳細はこちらhttp://www.lenholgate.com/blog/2005/11/windows-tcpip-server-performance.htmlおよびここに:http://www.lenholgate.com/blog/2005/11/simple-echo-servers.html。これは私が自分のサーバーフレームワーク用に独自のテストを実行するために使用したもので、これは760MBのメモリを持つWindows 2003 Server VM上で70,000のアクティブな接続を作成できるようにしたものです。

以下のコメントから詳細情報を追加するように編集...

あなたはすでに、私は次のようなアプローチを取ると思い、複数のサーバーを考えている場合。

  1. (あなたを引き起こす可能性があり ダイナミックポート上のWindowsの制限には注意してください私は をリンク無料ツールを使用して、 があなたのターゲットOS に 接続の合理的な数を作成することができることを自分自身に証明します クライアント接続が失敗する場合は、MAX_USER_PORTの場合は を検索してください)。開発中

  2. は、定期的に接続 を作成し、実際に サーバー上の「何かを」することができ、テスト クライアントを使用して実際のサーバーをテストします。これは、 がスケーラビリティを制限する方法でサーバーを構築するのを防ぐのに役立ちます。ここをクリックしてください:http://www.serverframework.com/asynchronousevents/2010/10/how-to-support-10000-or-more-concurrent-tcp-connections-part-2-perf-tests-from-day-0.html

+0

情報ありがとうございます。我々は、プレーヤーが部屋に分かれているマルチプレーヤーのゲームに取り組んでいます - ポーカーと同様です。何千もの - 私たちがサーバに置くことができるもの。うまくいけば、サーバーあたり50.000-100.000ユーザーにサービスを提供できるようになります。 – zendar

+3

あなたはすでに複数のサーバーを考えているので、私は次のアプローチをとっています。 私はリンク先の無料ツールを使用して、ターゲットOSに適切な接続数を作成できることを証明します(クライアント接続が失敗する可能性のある動的ポートのWindows制限に注意し、MAX_USER_PORTを検索してください) 。 開発中は、接続を作成して実際にサーバー上で「何か」できるテストクライアントを使用して、実際のサーバーを定期的にテストします。これは、スケーラビリティを制限する方法でサーバーを構築するのを防ぐのに役立ちます。 –

+1

コメントからのアドバイスを回答に入れてください。それは貴重な情報であり、本当に答えの一部でなければなりません。 – zendar

3

half-open connectionsの数に制限がありますが、アクティブな接続では使用できません。これは、Windows 2008サーバーの種類に依存するように見えますが、少なくともthis MSFT employeeによると:標準、エンタープライズ、および データセンターがいない間、それは版、Webと 財団エディションによって異なり

が接続 制限があります。

+1

「半開き接続」とは何ですか? – zendar

+0

私はそれを説明する必要がある半開きの接続にリンクを追加しました – pyrocumulus

+0

この回答を改善するために、W2K8の半分のオープン/胚の接続制限の限界へのリンクが評価されます。 – Dereckson

関連する問題