Golang Go语言中模块代理超大型库初始化速度实测 goproxy.cn vs goproxy.io

发布于 1周前 作者 eggper 来自 Go语言

Golang Go语言中模块代理超大型库初始化速度实测 goproxy.cn vs goproxy.io

原文地址:studygolang.com/topics/9994

测试实录视频:goproxy.cn/assets/videos/goproxy.cn-vs-goproxy.io.mp4

事先声明:我不是恶意地在其他平台发布然后再在 V2EX 上放置链接的。原作者( @aofei )本来计划昨天晚上在这里直接发布的,可是由于他昨晚才刚注册的 V2EX,平台有个 4 小时的首次发帖时间限制,然后他想着等到今天了再发,谁知道今天平台又提示他:

保存新主题过程中遇到一些问题:
  • 发布这个内容需要你首先完成 手机号验证
  • 发布这个内容需要你已经注册满 30 天
  • 你目前的铜币数量 13.0 不足以创建这个主题 › 查看账户余额

全文内容:

今天我对 Go 模块代理 goproxy.cngoproxy.io 分别做了一次超大型库 github.com/kubernetes/kubernetes 在初始化时拉取依赖模块的速度实测。 (测试实录视频:goproxy.cn/assets/videos/goproxy.cn-vs-goproxy.io.mp4

注:本来也会有阿里云的模块代理 mirrors.aliyun.com/goproxy 的测试结果的,可是在使用阿里云的模块代理时总是无法初始化 Kubernetes 这个库,原因未知,但确定不是网络的问题(找了几个朋友帮忙试了),谁有空的话也可以试试看能成功不(阿里云的模块代理失败结果截图)。至于为什么没有 athens.azurefd.net 的测试结果,是因为 Athens 的作者本人说了它是一个作为 Demo 用的服务,存在不稳定因素,故而没将测试结果加到视频中,同样环境下它的测试结果是总耗时 44.430 秒。没有 gocenter.io 的测试结果是因为它实在是太慢了,慢到我无法坚持等到测试结果出来……而且由于 gocenter.io 是个知名的“ 404 服务”,意思也就是说它总是会出现无法找到目标模块的情况,原因是它在设计上有意地没有添加实时回源措施,属于主动发现式的服务,故而不建议使用。

国内代理说明(参考自:github.com/golang/go/wiki/Modules#are-there-always-on-module-repositories-and-enterprise-proxies):

  • goproxy.cn:由七牛云运行,支持代理 sum.golang.org,经过 CDN 加速,高可用,可应用进公司复杂的开发环境中,亦可用作上游代理;
  • mirrors.aliyun.com/goproxy:由阿里云运行,不支持 sumdb 代理,经过 CDN 加速,高可用,可应用进公司复杂的开发环境中,亦可用作上游代理;
  • goproxy.io:由个人运行,支持代理 sum.golang.org

测试环境:

  • MacBook Pro (15-inch, 2016)
  • 北京移动 100 Mbit/s 宽带

更多关于Golang Go语言中模块代理超大型库初始化速度实测 goproxy.cn vs goproxy.io的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

19 回复

抱歉,初到贵地,不知发帖规矩竟如此复杂,故而借用了朋友名义发帖……望海涵!以后我会尽量多多活跃的……

更多关于Golang Go语言中模块代理超大型库初始化速度实测 goproxy.cn vs goproxy.io的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


支持一个,目前在用 goproxy.cn

支持一下,目前主要还是使用 goproxy.io

感谢支持!👍

也谢谢你的支持,可以考虑试一阵子 goproxy.cn 呀,改个后缀的事情哈哈哈。😊

哈哈在这里也看到飞神

😝主要是听朋友讲最近有人说 goproxycn 不靠谱之类的,还有人到处乱说 goproxy.io 是 Go 语言的官方模块代理,所以我才意识到原来是我一直推动的不到位,没写过什么博文、教程之类的,现在正在补呢哈哈哈。

做的好自然有人用,没必要踩别人。

支持一下 楼主 goproxy 支持真滴快,之前测试 1.13 新加的特性,别的代理都有点小问题,goproxy.cn 一次就过了

没有踩别人哦,就是因为被踩了才出来澄清的😂

谢谢支持!以后有问题的话可以去 issue 直接反馈,会及时处理的~👍

自用 ss 美如画
在路由器上装 全球无障碍

是的,官方只有那一个,可我也搜了一下,确实网上有很多账号发的文章都给 io 那个代理加了个 [官方] 的 title😂

透明代理是很爽,不过,讲道理它对于 Go 语言来说真不一定就比用 Go 模块代理要快哦,尤其像是用挂载着全球范围 CDN 加速的那种代理,会就近节点缓存模块数据,换句话说只要你同城有人下载过某个模块,那么在很长一段时间内(理想最多长达一年)你们同城的人再重复下载那个模块时都是直接从就近的节点直接抓取的,这级别的抓去速度再好的透明代理都是比不上的哦😄

#1
大神你好 膜拜一下

PS 发帖是没啥规矩的 都是反广告策略而已
这个模型,就是为了赶走,为了发个啥而专门新注册一个账号

一般来说,正常的流程是,你注册后跟大家互动了一阵子,再去发什么,才是正常的用户

哈哈哈谢谢你,了解了,以后会尽量在这里多活跃的😊

针对Golang中模块代理超大型库初始化速度实测的问题,goproxy.cn与goproxy.io的对比,可以从以下几个方面进行分析:

  1. 下载速度

    • goproxy.cn作为国内代理,通常能为中国用户提供更快的下载速度,因为它减少了网络延迟和可能的国际带宽限制。
    • goproxy.io作为国际代理,可能在全球范围内具有更好的覆盖和性能,但在中国地区可能不如goproxy.cn快。
  2. 稳定性和可靠性

    • 国内代理如goproxy.cn更了解中国网络环境,可能在处理网络问题和故障时具有更快的响应速度。
    • 国际代理的稳定性可能受到更多不可控因素的影响,如国际网络波动等。
  3. 功能和特性

    • 两者可能都提供基本的代理功能,但具体特性可能有所不同。用户应根据自己的需求选择适合的代理服务。
  4. 安全性

    • 无论是国内还是国际代理,安全性都是用户关注的重点。确保代理服务具有有效的安全机制和隐私保护措施至关重要。

综上所述,对于在中国地区使用Golang的用户来说,goproxy.cn可能是一个更快、更稳定的选择。然而,具体选择哪个代理服务还需根据用户的实际需求和网络环境进行评估。同时,无论选择哪个代理,都应确保代码的稳定性和安全性。

回到顶部