views:

44

answers:

1

I'm looking for the best approach for selecting the "optimal" network server. Use case: A user at home needs to access a network through any one of the geographically dispersed servers, and we want our desktop app to automatically select one in under a second. The servers block ICMP packets so ping won't work. We're thinking of sending HTTPS HEAD requests to each server and measuring the response time. We had to rule out geographic proximity.

Any suggestions?

A: 

HEAD requests will work reasonably well as long as you request a resource that takes a constant time for the server to return. If you can set up something that basically just returns an empty document with a minimal set of HTTP headers, that would be best. (I'm assuming you can only use port 80 here; if you can use anything except ICMP, then you might want to try... I dunno, NTP, a TCP handshake, it depends.)

dirtside
Thanks for the info. It looks like HTTP HEAD should work for now.