如何在Python中选择最接近/最快的镜像?

问题描述

| 我一直在考虑如何在Python中实现镜像选择。当我调用服务API时,会获得IP地址的响应。现在,我要获取该地址,然后检查它是否离我很近。如果不是,请重试。我考虑过ping操作,因为我只能对同一数据中心中托管的IP地址执行ping操作约1毫秒,但在世界范围内却要高得多。我查看了一些有关如何在Python中实现ping的示例,但它看起来相当复杂并且感觉有点黑(例如检查目标IP是否小于10ms)。我可能没有发现解决这个问题的更好方法。 你有什么想法?每次都无法下载任何测试文件来测试速度。 GeoIP还是ping?或者是其他东西?     

解决方法

        YUM最快的镜像插件使用一种粗略的方法来计时连接到远程服务器上的端口所花费的时间。虽然它很粗糙,但它测量的是滞后而不是带宽,但它相当有效:
time_before = time.time()
sock.connect((self.host,self.port))
result = time.time() - time_before
sock.close()
    ,        调用所有服务API实例并使用响应速度最快的实例。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...