2012-01-27 9 views
1

私はネットワーキングの人ではないので、安全のためネットワーク専門用語を使用しません。私は適度にモダンなイーサネットカード(100Mbps?)を持ったマシンを持っており、このマシンから同様のネットワーク容量を持つ多くのマシン(50-500)にデータを送信しています。このために、私のプログラムは複数のTCPチャネルを使います。他に面白いTCPの最適化はありません。複数のTCPチャネルを単純に考えています。私は、これらのマシンにどれくらいのデータを送ることができるかの制限要因は何かを判断したいと思います。1台のマシンから多くのマシンにデータを送信すると、どのように輻輳要因を見つけることができますか?

私が考えることができるそのような要因の1つは、ホスト上の輻輳です。しかし、渋滞はどれくらいですか?輻輳を決定する要因は何ですか?私がここで作っている他の仮定や誤解?

編集:これは私がネットワークアーキテクチャについて知っているものです: ソースマシンは大学ネットワークの一部です。ファイアウォールが設置されていますが、この転送が行われるポートは開いています。私のデータが最終的な目的地にどのようなスイッチやルータを通過するかは完全にはわかりません。行き先と言えば、これらは地理的に異なる大学に広がる機械なので、大学のインフラストラクチャの下にあります。私は上記で提供した情報には何も具体的なものがないことを知っていますが、これは私が現在知っているすべてです。私のホスト(Linuxボックス)でもっと詳しい情報を得るために使用できるコマンドがありますか?ありがとう。

+0

ネットワークアーキテクチャについて詳しく説明してください。すべてのノードが同じLAN上にあるスイッチドネットワークですか?そうでない場合、どのように接続されていますか?あなたの内部ネットワークのルータを経由して、X Mbpsに制限されたインターネットのアップリンクを介してなど – ldx

+0

見ていただきありがとうございます、私は私の質問を編集しました。 – Ketan

+0

bmonのような帯域幅メーターツールを使っていくつかの測定を行う方がよい。異なる時間に数回繰り返します。 – ldx

答えて

1

一般的に言えば、ネットワークパスの速度は、そのパスで最も遅い要素に制限されます。これには、CPU、ルーター、ハードドライブ、ファイアウォール、および他のトラフィックとの競合が含まれます。どのネットワークパスにも数十から数百のコンポーネントがあります。それらの利用可能な容量は急速に(数ミリ秒のオーダで)変わる可能性があるので、1つの答えはありません。

各パスで最も遅いリンク速度を判断することで上限を推測できます。たとえば、あるネットワークに10メガビット/秒のアップリンクがある場合、そのアップリンクを通過するパスは、他のハードウェアの速度に関係なく、10メガビット/秒よりも遅くなることがわかります。 1つのリンクを共有する複数のセッションがある場合、それらの合計はリンクより速くなることはできませんが、帯域幅を均等に共有しない可能性があります。

多くの変数はアプリケーションの特定の動作に依存するため、動作の仕方を知る唯一の方法はテストして、多くの変数が外部にあることを覚えておくことですあなたのコントロール。

これは私がたくさん聞く質問ですので、私はその件に関するいくつかの記事を書いています。

Common Network Performance Problemsには、ほとんどのネットワークパスで一般的に見られるパフォーマンス制限デバイスが記載されています。これは、情報を探す必要がある場所を把握するのに役立ちます。

Loss, Latency, and Speedは、パフォーマンス特性を診断するために特定のパスに関する統計を収集して解釈する方法を説明しています。これは、パフォーマンス測定ツールの選択とその結果の解釈に役立ちます。

関連する問題