Iperf
iperf 如何計算吞吐量和抖動?
我讀過 iperf 基本上會嘗試盡可能快地通過連接發送盡可能多的資訊來報告所達到的吞吐量。該工具在確定兩台機器之間的連結可以提供的數據量時特別有用。
是否可以通過發送正常數據來收集相同的結果,就像不測試數據一樣?
我想做的是這個;在前台發送數據而在後台收集統計資訊(吞吐量和抖動)。
那麼誰能告訴我 iperf 如何計算這兩個值?
是否可以通過發送正常數據來收集相同的結果,就像不測試數據一樣?
我不相信,至少不使用 iperf。如果您可以使用 pcap/tcpdump/wireshark 擷取真實數據,那麼您應該可以使用 wireshark 來確定抖動。
我懷疑 iperf 使用RFC 3550中為 RTP 協議定義的公式計算抖動。您可能需要深入了解來源才能確定。
If Si is the RTP timestamp from packet i, and Ri is the time of arrival in RTP timestamp units for packet i, then for two packets i and j, D may be expressed as D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si) The interarrival jitter SHOULD be calculated continuously as each data packet i is received from source SSRC_n, using this difference D for that packet and the previous packet i-1 in order of arrival (not necessarily in sequence), according to the formula J(i) = J(i-1) + (|D(i-1,i)| - J(i-1))/16 Whenever a reception report is issued, the current value of J is sampled. The jitter calculation MUST conform to the formula specified here in order to allow profile-independent monitors to make valid interpretations of reports coming from different implementations.