I’ve been thinking about network latency. I understand it’s important, but I’m wondering how much it actually affects node performance.
Is there any simple, ballpark guidance for a Storj node? Something like under 20ms is great, 20-50ms is acceptable, and 50ms+ might start to become a problem?
I’d love to hear about your experiences and what kind of latency you’re running with successfully.
I mean in general, if your node is slower, then you are going to “lose some races” and your node won’t be used to store an indivdual piece or be paid for the egress from your server.
However, since clients are connecting from all over, some latency doesn’t seem to matter. I have a couple nodes with an extra ~100ms latency and it doesn’t seem to really matter.
“You don’t have to run faster than the bear to get away. You just have to run faster than the guy next to you.”
It really depends where you are and where is the client.
We create latency statistics, measured from US. Best nodes (few thousands) have 20-40ms roundtrip (!) time (likely US nodes which are close to our client).
Next group is between 40ms and 300ms.
Other big group of the nodes have 3-400 ms (roundtrip!). Likely they include the EU nodes, as crossing the Ocean can requires >100 ms.
But same thing measured from EU would show a different picture.
These are not ping times, but full DRPC connections, calling piecestore/hashstore.
The real question is: how many nodes are slower than you: as long as you are faster then the success/total, you are good. For example: if Satellite selects 100 nodes, and 65 should be successful, nd 35 can be long tail cancelled, it’s better to be in the fastest 65%.
As a point of reference, my nodes work on a consumer ISP link in central Europe with ~30 ms ping to the IPs that upload data the most. They’re doing pretty well so far.
No, it isn’t unfortunately. But it’s very simple, just calls the piecestore DRPC endpoint. And it couldn’t be used by anybody else, but Satellite. (as it requires signed order limits).
For simple roundtrip measurement I would recommend to do a HTTP GET http://storagenode_host:storagenode_port/. All Storagenodes support HTTP and a very small JSON is returned. Just measure the response time.
I bet @Th3Van would have higher payouts if he could drop his setup in New York or something. More paying customers in the US, and lower latency to them than all those connections crossing the ocean…