web-dev-qa-db-ja.com

遅延、帯域幅、スループットの違いは何ですか?

レイテンシ帯域幅、およびスループットの間に明確な線を引くのに苦労しています。

誰かが簡単な言葉で簡単な例で私を説明できますか?

31
kgs

水アナロジー:

enter image description here

  • Latencyは、チューブを移動するのにかかる時間です。
  • 帯域幅は、チューブの幅です。
  • 水の流量はThroughput

車両の類推:

  • 出発地から目的地までの車両の移動時間は待ち時間です。
  • 道路の種類は帯域幅です。
  • 走行する車両の数はスループットです。
119
Premraj

SYNパケットがTCPを使用して送信されると、SYN+ACK応答、送信と受信の間の時間は遅延です。これは、1つの変数、つまり時間の関数です。

これを100Mbit接続で実行している場合、これは理論上の帯域幅、つまり1秒あたり何ビットを送信できるかです。

1000Mbitファイルを100Mbitに圧縮して100Mbit回線で送信する場合、有効なスループットは1Gbit /秒と見なされます。理論的なスループットと理論的な帯域幅はこのネットワークでは同じですが、なぜスループットが1Gbit /秒であると言っているのですか。

スループットについて話すとき、アプリケーション、つまり1Gbitスループットの例に関連して最もよく耳にします。スタックのある層で圧縮を想定し、そこでスループットを測定しました。実際のネットワークのスループットは変化しませんでしたが、アプリケーションのスループットは変化しました。スループットがactual throughputすなわち100Mbit接続は、理論上の帯域幅であり、bpsでの理論的なスループットでもありますが、実際に得られる可能性は非常に低いです。

スループットは、システム全体の観点からも使用されます。つまり、1日あたりの犬の洗浄数または1時間あたりのボトルの数です。この方法で帯域幅を使用することはあまりありません。

特に帯域幅には他の一般的な意味がありますが、これはスタックオーバーフローであるため、ネットワークを想定していますが、それが数学またはアマチュア無線フォーラムである場合、私はまったく別のことを話しているかもしれません。

https://en.wikipedia.org/wiki/Bandwidth

https://en.wikipedia.org/wiki/Latency

これはスループットについて読む価値があります。

https://en.wikipedia.org/wiki/Throughput

7
Harry

ここで私が理解できる言語を少し説明します

水道管を購入する際には、完全に独立した2つのパラメーター、つまりパイプの直径と長さを確認します。直径はパイプのスループットを決定し、長さは待ち時間、つまり水滴がパイプを通過するのにかかる時間を決定します。重要な点は、長さと直径が独立しているため、通信チャネルの遅​​延とスループットも独立していることです。

より正式には、スループットは、1秒ごとにパイプに出入りする水の量として定義され、レイテンシは、液滴がパイプの一端から他端まで移動するのに必要な平均時間です。

数学をやってみましょう:

簡単にするために、パイプが4インチx 4インチの正方形で、長さが12インチであると仮定します。ここで、各水滴が0.1インチx 0.1インチx 0.1インチの立方体であると仮定します。したがって、パイプの1つの断面に、1600個の水滴を収めることができます。ここで、水滴が1インチ/秒の速度で移動すると仮定します。

スループット:液滴の各セットは、0.1秒でパイプに移動します。したがって、1秒間に10セットが移動します。つまり、1秒間に16000個の液滴がパイプに入ります。これはパイプの長さに依存しないことに注意してください。レイテンシ:1インチ/秒では、パイプの直径に関係なく、液滴Aがパイプの一方の端から他方の端に到達するのに12秒かかります。したがって、待ち時間は12秒になります。

3
stomar11

待ち時間:イベントの経過時間。

例えば。ポイントAからBに歩くには1分かかり、待ち時間は1分です。

スループット:時間単位ごとに実行できるイベントの数。

例えば。帯域幅はスループットの尺度です。

スループットを向上させるために帯域幅を増やすことはできますが、レイテンシは向上しません。

RPCのケースを取り上げます—分散システムでのメッセージ通信の遅延には2つのコンポーネントがあります。最初のコンポーネントはハードウェアオーバーヘッドで、2番目のコンポーネントはソフトウェアオーバーヘッドです。

ハードウェアのオーバーヘッドは、ネットワークとコンピューターのインターフェイス方法に依存します。これは、主にネットワークコントローラーによって管理されます。

私はそれについてブログを書きました:) https://medium.com/@nbosco/latency-vs-throughput-d7a4459b5cdb

1
Bosco Noronha

Pipeliningの概念に関連するLatencyThroughputの別の区別である、すでに書かれた答えを補足したいと思います。そのために、服の準備に関して日常生活の例を使用します。準備を整えるには、(i)洗う、(ii)乾かす、(iii)アイロンをかける必要があります。これらのタスクにはそれぞれ時間がかかります。たとえば、それぞれA、B、Cとしましょう。衣服のすべてのバッチには、準備が整うまで合計A + B + Cの時間が必要です。これは、プロセス全体の待ち時間です。ただし、i、ii、iiiは別々のサブプロセスであるため、3番目の衣服の洗濯を開始し、2番目の衣服の乾燥中、1番目の衣服のアイロン掛けなどを行うことができます(Pipeline)。その後、1日目以降のすべての服は、max(A、B、C)時間後に準備が整います。スループットは、1/[max(A、B、C)]に等しい時間あたりの服のバッチで測定されます。

そうは言っても、この答えは、システムのレイテンシーしかわからない場合、必ずしもスループットがわからないを強調しようとします。これらはまったく異なるメトリックであり、同じ情報を表現するための別の方法ではありません。

1
Jim