Is it possible to measure bandwidth using ping?

痴心易碎 提交于 2019-12-22 17:09:53

问题


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


回答1:


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



回答2:


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:


Some years ago, I did some investigation into the relationship between latency and bandwidth use over cable.

Basically, if you start from zero bandwidth and increase bandwidth use, latency very slowly increases - until you hit about 90% of your bandwidth. Then latency goes through the roof, up to another plateau, after which it again increases slowly.




回答4:


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




回答5:


Please take a look at top-5-unix-network-monitoring-utilities




回答6:


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:


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


来源:https://stackoverflow.com/questions/771998/is-it-possible-to-measure-bandwidth-using-ping

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!