Hello! I’m trying to ping
some lemmy instances to understand which one is the faster, so I’m just using the ping command:
$ ping lemmy.ml
PING lemmy.ml (54.36.178.108) 56(84) bytes of data.
64 bytes from lemmy.ml (54.36.178.108): icmp_seq=1 ttl=49 time=24.4 ms
ping lemmy.world
PING lemmy.world (135.181.143.230) 56(84) bytes of data.
64 bytes from static.230.143.181.135.clients.your-server.de (135.181.143.230): icmp_seq=1 ttl=52 time=58.2 ms
but if I try with certain instances:
ping vlemmy.net
PING vlemmy.net (109.78.160.70) 56(84) bytes of data.
it just hangs there, forever. if I try to ctrl+C it, it displays
^C
--- vlemmy.net ping statistics ---
13 packets transmitted, 0 received, 100% packet loss, time 12267ms
why does this happens? I can perfectly visit vlemmy.net from my browser so I really can’t understand whay is this happening
One possibility is that the server is configured not to respond to pings
This is most likely the issue. Maybe just measure HTTP response times instead?
what advantages can derive from this?
Prevents some types of port scanning normally. Don’t know about other advantages
ICMP is one vector of a distributed denial of service attack. Also, even if not denying the service, it puts load on the network interfaces / routers of that server - everything behind the first firewall / router layer that would otherwise block the ICMP requests.
okay I get it, thanks!
honestly, not much… other than warm and fuzzies for the person doing the blocking. ICMP sweeps are quick and cheap, so it stops a host from being found easily, but there are other ways to find abhost that are just as easy and cheap.
ping nowadays is overrated anyway. If a server responds to ICMP and how fast it does it does not really say much about “how fast” a website is. It only tells you that a) ICMP requests and responses are not blocked and b) how fast ICMP requests get answered.
That’s it. It may not even tell you that a website is online because a load balancer may be responding to the ICMP request while the hosts behind it are offline.
People value ping responses way too highly.
httping may be a better tool to measure “how fast” a website is responding.
Also every major browser has a tool for timing and seing how long a site and it’s components load. You could test it with that but even then; load times will vary slightly depending on what the instances have to load.
But probably a better way than pings ¯_(ツ)_/¯
ICMP echo requests/responses may be blocked - usually by a remote endpoint firewall.
Ping just measures the response time between you and the server. The Lemmy application doesn’t even know about pings. It’s the computer network card responding to them, unless the computer is configured to simply not respond to them.
You can test the response speed of the web server using curl, but it really doesn’t say much about performance either. It’s difficult to do good performance tests on stuff like this.
I think the closest you can get to a good performance test is to use a virtual browser like https://www.selenium.dev/ and simulate browsing to a new post, clicking some link, and so on.
There’s a firewall blocking ICMP echo-reply requests on the other end. It’s totally normal for servers to block ping requests.