【发布时间】:2009-04-21 10:40:20
【问题描述】:
我们能否从 ping 服务器所需的时间中找到互联网带宽,如果是的话,如何完成
【问题讨论】:
标签: networking bandwidth ping measurement
我们能否从 ping 服务器所需的时间中找到互联网带宽,如果是的话,如何完成
【问题讨论】:
标签: networking bandwidth ping measurement
不,ping 不会告诉您有关带宽的任何信息,它只是测量延迟。测量带宽最好通过专门的测试来完成,即传输一堆比特并测量需要多长时间。您可能需要考虑带宽会因许多因素而发生巨大变化,例如:
【讨论】:
您可以通过创建不同大小的 ping 来进行非常粗略的测量
然后,您可以使用较小和较大 ping 之间的延迟差异来形成延迟计算的基础。
实际上,尽管使用宽带速度,这不会产生有意义的数据。在调制解调器速度或更慢的情况下,您可能能够获得带宽指示,但它不太可能是准确和可重复的。
但正如其他人已经指出的那样,ping 最好用作延迟的指示,并且有更好的方法来测量带宽。
【讨论】:
几年前,我对延迟和通过电缆使用的带宽之间的关系进行了一些调查。
基本上,如果您从零带宽开始并增加带宽使用,延迟会非常缓慢地增加 - 直到您达到大约 90% 的带宽。然后等待时间越过屋顶,达到另一个高原,之后又缓慢增加。
【讨论】:
不,但您或许可以估计延迟时间。
【讨论】:
如果您事先知道通道的延迟,则可以测量带宽。
您可以使用大 ping 包并估计了解频道类型和预期 RTT 的带宽。
【讨论】:
我问过同样的问题,但每个人都说真正的 ping 不能很好地测量带宽。下面列出的这批是使用 ping 进行的带宽速度测试,但它的最大速度限制为 1000kb/s,这种简单的形式不会四舍五入,但您可以使用它并进行实验。
@echo off
:begin
color 0b
MODE CON:COLS=15 LINES=3
for /F "tokens=10 delims=ms=," %%a in ('ping -n 1 -w 1000 -l 1024 8.8.8.8^| find "Average"') do set "A1=%%a"
set /a T=%A1%
set /a varia=1000/%T%
set /a answer=%varia%
set /a varia2=%answer%
set /a answer2=%varia2%
echo.
echo Speed %answer2% Kb/s
sleep 5
goto begin
【讨论】: