不使用 ping 选择最佳服务器?
我正在寻找选择“最佳”网络服务器的最佳方法。使用案例:家里的用户需要通过任何一台地理上分散的服务器访问网络,我们希望我们的桌面应用程序能够在一秒钟内自动选择一个。服务器会阻止 ICMP 数据包,因此 ping 无法正常工作。我们正在考虑向每个服务器发送 HTTPS HEAD 请求并测量响应时间。我们必须排除地理位置邻近的情况。
有什么建议吗?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只要您请求的资源需要服务器持续一段时间才能返回,HEAD 请求就能很好地工作。如果您可以设置基本上只返回一个带有最少 HTTP 标头集的空文档,那就最好了。 (我假设您在这里只能使用端口 80;如果您可以使用除 ICMP 之外的任何,那么您可能想尝试...我不知道,NTP,TCP 握手,这取决于情况。)
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.)