"現在のマシンで利用可能な総インターネット帯域幅"の概念は、定義するのが本当に難しいです。ただし、ローカルバッファサイズを調整しても、個々のクライアントにどれだけのデータをプッシュスルーできます。
特定のクライアントがサーバーからデータを取得できる速度は、クライアントおよび時間によって異なります。任意の接続では、インターネットへのローカルアップストリーム接続(DSL上のサーバーなど)によって制限されている場合や、コア(おそらく)またはリモートエンドのどこかに制限されている場合があります(たとえば、ダイヤルアップ回線で)。多くの接続がある場合、個々の接続ごとに異なるボトルネックが発生する可能性があります。この利用可能な帯域幅を測定することは難しい問題です。たとえば、対象のresearch and toolsのこのリストを参照してください。
一般に、TCPは任意の接続に対して公平にすべての利用可能な帯域幅を使用して処理します(ただし、利用可能な帯域幅の変更が好きなときより遅くなることがあります)。クライアントがさらにデータを処理できない場合、書き込み呼び出しはブロックされます。
帯域幅が狭く、その原因がネットワークに書き込むためにバッファリングされたデータが不十分であることが判明した場合は、リンクされた質問のバッファサイズを微調整するだけで済みます。バッファサイズを微調整する別の理由は、メモリが不足しているアクティブな接続が非常に多い場合です。いずれの場合においても
、本当の答えは、すべてのバッファではなく、別のサーバー上の静的ファイルを置く代わりに、サーブレットの(
sendfileなどのシステムコールを使用して)それらを提供するために
thttpdのようなものを使用しないようにすることがあります。これにより、ボトルネックがサーバー上になく、インターネット上のどこかにあることをコントロールすることができます。
視聴者への注意:システムは自動的にこの回答を「受け入れ」として選択しましたが、正解はありません。 – Madhu
ありがとうございました。 –