Ping command does not return accurate result

Hello, usually when I played online games, I always run ping <server> to know my internet stability. I used these on Windows back then and it always felt accurate, when lag it shows higher latency, or it might shows request timed out.

My internet connection is not stable at the moment. But take a look at this output, it shows nothing wrong:

~ >>> ping novaro.com                                                                        
PING novaro.com (198.185.159.144) 56(84) bytes of data.
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=1 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=2 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=3 ttl=45 time=275 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=4 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=5 ttl=45 time=281 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=6 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=7 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=8 ttl=45 time=270 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=10 ttl=45 time=282 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=11 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=12 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=13 ttl=45 time=270 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=15 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=16 ttl=45 time=307 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=18 ttl=45 time=281 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=19 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=20 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=21 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=22 ttl=45 time=279 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=23 ttl=45 time=279 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=24 ttl=45 time=280 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=25 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=26 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=27 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=28 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=29 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=30 ttl=45 time=283 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=31 ttl=45 time=289 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=32 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=33 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=34 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=35 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=37 ttl=45 time=291 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=38 ttl=45 time=283 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=39 ttl=45 time=271 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=40 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=41 ttl=45 time=274 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=42 ttl=45 time=273 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=43 ttl=45 time=270 ms
^C
--- novaro.com ping statistics ---
44 packets transmitted, 39 received, 11.3636% packet loss, time 79139ms
rtt min/avg/max/mdev = 269.709/275.491/307.234/7.351 ms

This looks stable, but it’s not. There are latency spikes.
The output actually shows that it’s not stable but not in a way I would want it to, once in awhile it took quite a bit of time BUT it still shows around the same latency (time=x ms) why?

Here is the timing of the outputs:
https://asciinema.org/a/pAhjbuJNy4RWjbo9pkiaCpOQ0

Notice there is small delay after icmp_seq=8 and 13. and then quite bit of delay around 21,23,26 and 29.
Then 14 and 17 was missing.
But it shows as it were stable. Always around 270~310ms.
No high latency spikes, no rto. all is well.
but all is not well

Is there a way to make it more accurate?
My expectation are something like this:

64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=16 ttl=45 time=307 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=18 ttl=45 time=281 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=19 ttl=45 time=271 ms
request timed out.
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=20 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=21 ttl=45 time=272 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=22 ttl=45 time=515 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=23 ttl=45 time=413 ms
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=24 ttl=45 time=1341 ms
request timed out.
request timed out.
64 bytes from 198.185.159.144 (198.185.159.144): icmp_seq=27 ttl=45 time=271 ms

I checked in game, it can jump to 800, 1300, 8000ms. However this command always return stable result. I ping the same server too.

Using ping against one server to determine the quality of your network connection is not doing anything good.

All you do is congesting the network with useless packages.

If you are that concerned about latency you should up your game and do what ever it takes - including new cables - perhaps another ISP - and don’t use WiFi.

For me this kind of thing is useful when I played video games. I always used these,

I don’t need to determine the network quality in general. I just need to know the network quality on that one specific server.

So I know how good is the connection before even entering the game. And I also know the exact number, and how it perform.

ping can be used for that and since it works on the packet layer icmp packets it will reflect the response time for the server in question.

But you also need to know that packets do not always travel the direct route.

If you use traceroute you will get a better idea of the route.

ping is more like a tool and like any other tool you don’t overuse it. You can get an indication if something is congesting the network and you will know if the target resolves - e.g. when using network name to ping - but you can’t use it to draw any major conclusions on the quality of your connection.

Wifi is, according to me, the complete wrong way to go about networking if reliability and speed is important to you, for whatever the reason might be. I don’t use Wifi on my PC, and guess what? I never have any connection issues whatsoever.

The performance of the network, or connection that you’re checking can’t be accurately tested/monitored against one, single server.

Also, ping traffic is different than the gaming traffic. I’m sorry, but I can’t put it in a different way.

The only thing a ping can do is give confirm whether you have connectivity to one server, and sometimes not even accurately.

It’s also possible, although I’m not saying it’s happening here, that traffic to a certain address gets a higher priority, and thus performs better than to other addresses.

So, it should be clear that ping is neither accurate nor trustworthy.

Yes, sure, it might have been handy, or even neccessary in the past, but the past is exactly that: the past, and it should be left right there.

Edit:

And AFAIK, correct me if I’m wrong, they don’t necessarily travel the same route every session.

Edit 2:

IMHO one can’t, realistically, compare Windoze and Linux in this regard. I might be wrong, but It seems to me that Windoze wants to make everything softer and “nicer” while Linux is straightforward and honest.

There’s a reason it’s the preferred server environment.

Edit 3:

But that’s just my opinion. You don’t have to agree with me.

:man_shrugging: I cab’t force you to believe correctly. :grin: :stuck_out_tongue_winking_eye: :grin:

1 Like

I beliebe you. I don’t know anything.

However, I wonder if there is still way to check connection quality overtime? It doesn’t have to be simple like ping.

ah that’s too bad. I can connect my router to my laptop with cable, however no ISP would want to offer cable internet to my village. Only wireless in the end.

@pegasusearl: Why didn’t you include the ping summary in your OP (like the one in your video)?

If you’re going to give command outputs, provide the complete output; don’t cherry-pick.

Well, there’s the answer to your problem.

Oh no no no, sorry. I thought the output below is irrelevant.
I still have the terminal open, here is the full output:

– deleted

I will edit the post instead

But normally I dont stop the command to check the summary.

I’b glad yous doeseth!

My internet is 5G and thus wireless, and while that works perfectly (when there’s power) it should not be compared to home wifi. It’s not even close to the same.

1 Like