質問: linuxでのtcp / ip接続の最大数を増やします サーバーをプログラミングしていますが、接続数を「無制限」に設定しても帯域幅が飽和していないため、接続数が制限されているようです。ubuntu linuxボックスが一度に開くことができる最大接続数を増減するにはどうすればよいですか? osはこれを制限していますか?それともルーターですか?それともispですか?それとも他の何か?
回答: 最大接続数を設定するための変数がいくつかあります。たぶん、あなたは最初にファイル番号を使い果たしています。 ulimit -nを確認してください。その後、/ procに設定がありますが、デフォルトでは何万にも設定されています。さらに重要なのは、何か問題があるように思われることです。単一のtcp接続は、2者間のすべての帯域幅を使用できるはずです。そうでない場合: tcpウィンドウの設定が十分に大きいかどうかを確認してください。 linuxのデフォルトは、本当に速いinetリンク(数百mbps)または速い衛星リンクを除くすべてに適しています。あなたの帯域幅*遅延製品は何ですか? 大きなパケットでpingを実行してパケットロスをチェックします(ping -s 1472 ...) レート制限を確認してください。 linuxでは、これはtcで構成されています。 存在すると思われる帯域幅が実際に存在することを確認します(例:iperf)。 プロトコルが正常であることを確認してください。待ち時間を覚えておいてください。 これがギガビット+ lanの場合は、ジャンボパケットを使用できますか?あなたですか? おそらく私は誤解しています。多分あなたはたくさんの接続が必要なbittorrentのようなことをしているのでしょう。そうであれば、実際に使用している接続数を把握する必要があります(netstatまたはlsofを試してください)。その数が多い場合は、次のようにします。 多くの帯域幅、例えば100mbps +を持ってください。この場合、実際にはulimit -nを上げる必要があるかもしれません。それでも、〜1000接続(私のシステムのデフォルト)はかなりの数です。 あなたの接続を遅くしているネットワークの問題を抱えている(例えばパケットロス) 特にあなたが探している場合はio帯域幅など、あなたを遅くする何か他のものがあります。 iostat -xをチェックしましたか? また、コンシューマグレードのnatルーター(linksys、netgear、dlinkなど)を使用している場合は、何千もの接続で能力を超える可能性があることに注意してください。これが助けになることを願っています。あなたは本当にネットワーキングの質問をしています。