I have 2 servers in Singapore and Canada.
Both pass local speed tests of ~100mbit/sec, but when transferring files between them, speeds can be as low as 20kb/sec.
The Singapore server can still transfer with reasonable speed (~50mbit/sec) to e.g. Japan, and Japan in turn has similar speed to Canada. So when building a "chain" of "relay servers" I can achieve pretty good speeds (even though I have to copy the files multiple times). Why is this the case? Why is a direct connection between Singapore and Canada slower?
So when building a "chain solution", is there a way to calculate speeds professionally instead of guessing geographical points?
Are there any common solutions to problems like this that I overlooked?