Is it possible to measure bandwidth using ping?

2019-05-11 11:33发布

Can we find the internet bandwidth from the time it takes to ping a server if yes how is it done

7条回答
小情绪 Triste *
2楼-- · 2019-05-11 11:39

You might be able to make a very crude measure by creating pings of differing sizes

You could then use the difference in the latency between the smaller and larger pings to form the basis of your latency calculation.

Practically though with broadband speeds this would yield no meaningful data. At modem speeds or slower you may be able to get an indication of bandwidth, but it is unlikely to be accurate and repeatable.

But as others have already indicated pings are best used as an indication of latency and there are better ways to measure bandwidth.

查看更多
爷、活的狠高调
3楼-- · 2019-05-11 11:43

No, ping tells you nothing about the bandwidth, it just measures latency. Measuring bandwidth is best done by a dedicated test, i.e. transferring a bunch of bits and measuring how long time it takes. You might want to consider that the bandwidth can vary dramatically with many factors, such as:

  • Direction; A to B might be faster than B to A, or vice versa
  • Time of day; depending on general load level of links involved
  • The exact route taken, which in turn can vary randomly
查看更多
够拽才男人
4楼-- · 2019-05-11 11:43

No, but you might be able to estimate the latency.

查看更多
三岁会撩人
5楼-- · 2019-05-11 11:43

You can measure bandwidth if you know the latency of the channel beforehand.

You can use big ping packages and estimate the bandwidth knowing the type of channel and the expected RTT.

查看更多
劫难
7楼-- · 2019-05-11 11:58

I asked the same thing but what everybody says is true ping will not measure bandwidth well. this batch listed below is a bandwidth speed test with ping but its limited to a max of 1000kb/s and in this simple form doesn't round up but you can play with it and experiment.

@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
查看更多
登录 后发表回答