TidTCPServer
同時に何人のクライアントに接続できますか?私はIndy10、DelphiXE2を使用し、ターゲットOSはWindowsServer2003です。
デルファイにインディの代わりにもっと良いオプションはありますか?
TidTCPServer
同時に何人のクライアントに接続できますか?私はIndy10、DelphiXE2を使用し、ターゲットOSはWindowsServer2003です。
デルファイにインディの代わりにもっと良いオプションはありますか?
ただし、OSが利用可能なリソースで処理できる多くのクライアント。接続されている各クライアントは独自のスレッドを使用するため、プロセスのデフォルトのスレッドサイズを工場出荷時に設定する必要があることに注意してください。
デフォルトでは、MaxConnectionsは0に設定されているため、アクティブなスレッドの数は、別の接続を受け入れる前にIndyサーバーによってチェックされませんが、ほとんどの場合、クライアントがサーバーで何をしているかによって異なります。たとえば、サーバーがクライアント接続を受け入れ、そのクライアントスレッドコンテキスト内で1兆桁のパイを計算する場合、別のプロセスに作業を渡す場合よりも、適切に処理される接続が大幅に少なくなります。基本的に、結果は実行されるタスクに直接基づいて異なります。
一般的な答えとして...各スレッドに割り当てられたデフォルトのスタックサイズをオーバーライドすると、32ビットサーバーアプリケーションで最大数千の接続が可能になりますが、それを超えることはないでしょう。参照:Windows Server 2003のスレッドの最大数はいくつですか? およびhttp://www.deltics.co.nz/blog/?p=1330
また、デフォルトで15に設定されているListenQueueプロパティも確認してください。どうやらOSはそれ自体でそれをさらに増やすことができます...私は現在のWindowsServerのデフォルトのリッスンキューを知りませんが、私は通常デフォルトの量をかなり増やします。
結論-1000のアクティブなスレッド/接続に到達すると、後でではなく早く壁にぶつかる可能性があります。