Can we find the internet bandwidth from the time it takes to ping a server if yes how is it done
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
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.
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.
Please take a look at top-5-unix-network-monitoring-utilities
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.
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
© 2022 - 2024 — McMap. All rights reserved.