Often the performance of various mining pools is verified using the built-in ping
utility. While this approach is feasible, it is more important to measure the actual response time from the pool, as it may be busy or using some geolocation-based forwarding solution that brings the connecting endpoint closer to the user but then it still takes some significant time for the actual data to be transferred.
Therefore we find useful a mining-specific approach when we measure the amount of time required to connect and successfully pass authentication using the Stratum protocol. This provides more accurate readings in regards of what the mining software will actually do when mining.
We use this tool at pool-node internally to measure the performance of our pools. It is capable of pinging through IPv4 and IPv6 with or without TLS.
TL;DR: The ping to the pool server's box is not as significant as the actual response time through Stratum.
Usage of ./stratum-ping:
-6 use ipv6
-c int
stop after <count> replies (default 5)
-p string
pass (default "x")
-t string
stratum type: stratum1, stratum2 (default "stratum2")
-tls
use TLS
-u string
login (default "0x6a6eE2d7d06aa9b47B25957EC1E1D8124837FfEc")
# ./stratum-ping eth-solo.pool-node.com:5000
PING stratum eth-solo.pool-node.com (51.89.64.65) port 5000
eth-solo.pool-node.com (51.89.64.65): seq=0, time=14.239754ms
eth-solo.pool-node.com (51.89.64.65): seq=1, time=14.318485ms
eth-solo.pool-node.com (51.89.64.65): seq=2, time=16.103118ms
eth-solo.pool-node.com (51.89.64.65): seq=3, time=15.77519ms
eth-solo.pool-node.com (51.89.64.65): seq=4, time=14.223268ms
--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.150504495s
min/avg/max = 14.223268ms, 14.931963ms, 16.103118ms
# ./stratum-ping -tls eth-solo.pool-node.com:5004
PING stratum eth-solo.pool-node.com (51.195.88.15) TLS port 5004
eth-solo.pool-node.com (51.195.88.15): seq=0, time=308.065µs
eth-solo.pool-node.com (51.195.88.15): seq=1, time=165.527µs
eth-solo.pool-node.com (51.195.88.15): seq=2, time=192.482µs
eth-solo.pool-node.com (51.195.88.15): seq=3, time=191.818µs
eth-solo.pool-node.com (51.195.88.15): seq=4, time=169.952µs
--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.021413961s
min/avg/max = 165.527µs, 205.568µs, 308.065µs
# ./stratum-ping -6 eth-solo.pool-node.com:5000
PING stratum eth-solo.pool-node.com (2001:41d0:700:3441::) port 5000
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=0, time=176.611µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=1, time=177.769µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=2, time=185.733µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=3, time=166.971µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=4, time=171.775µs
--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.002555972s
min/avg/max = 166.971µs, 175.771µs, 185.733µs
Copyright ©2021, pool-node.com.com. All rights reserved.