ServerSocketに関するSunのドキュメントによると:
着信接続表示 (接続要求) の最大キュー長は 50 に設定されています。キューがいっぱいのときに接続表示が到着すると、接続は拒否されます。
キューの長さを増やすにはどうすればよいですか? それは私のサーバーのボトルネックです。
ありがとうございました。
ServerSocketに関するSunのドキュメントによると:
着信接続表示 (接続要求) の最大キュー長は 50 に設定されています。キューがいっぱいのときに接続表示が到着すると、接続は拒否されます。
キューの長さを増やすにはどうすればよいですか? それは私のサーバーのボトルネックです。
ありがとうございました。
パラメーターを指定してServerSocket コンストラクターを使用しbacklog
ます。
また、スレッド プール (または実際にはExecutorService ) を使用して着信要求をディスパッチすることを検討することもできます。設計方法にもよりますが、これは通常、スループットの向上につながります。
拒否される接続を制限するには、そのポーリングの送受信処理を行う前に、各選択ポーリングのすべての接続要求を処理するようにしてください。
ServerSocket には別のコンストラクターがあります。
public ServerSocket(int port, int backlog)
backlog は必要な接続キューのサイズです。最大 50 は、受け取るデフォルトのコンストラクターにのみ適用されますint port