电子说
背景
相信很多开发者跟我一样,在github上clone的时候,那速度基本稳定在20k/s一下,这速度稳如老狗。
当克隆一些大一点的仓库的时候,以这个乌龟级别的速度,很容易出现clone超时的错误,等了n久之后下载n%的内容一夜回到解放前。相信很多人都经历过这么操蛋的过程。
其实为了加速也有几种方式:
通过购买梯子,翻墙出去,这个速度可以提升。--- 花钱买速度
使用谷歌浏览器,下载加速插件。这个规定了浏览器。--- 绑定浏览器
使用gitee,这是国内的开源代码管理网站,所以他的下载速度非常快,gitee支持从github代码仓导入码云仓库。--- 需等待同步
除了上面的加速方式,博主推荐另外一个方法--Gitclone.com
什么是Gitclone.com
Gitclone.com 是一个 github.com 缓存加速网站,通过对经常访问的github的代码库的缓存,加速从github的git clone操作。当您采用git clone的方式clone代码库时,Gitclone.com 会建立一个mirror,以后再有开发者clone时,就能利用上mirror缓存,使得clone速度得到很大的提升,一般从github上git clone只能达到20k/s的速度,经Gitclone.com加速后,可以达到1.2M/s。
分布式广泛参与的机制:github代码库缓存需要大量的存储资源,依靠单个计算节点难以满足存储的需求,所以 Gitclone.com 已建立起4个初始验证节点的分布式系统,也提供了开发者将自己的机器加入缓存资源的机制。随着Gitclone开源生态的逐步完善,开始建立 Gitclone.com 的第五个缓存节点!
Gitclone.com工作机理
对于国内从github上clone代码库是一件耗时的事,对于稍微大一点的代码库,clone速度平均只有20k ~ 40k/s,有时甚至会下降到个位数,clone时会反复超时,虽然网上有一些介绍改hosts之类的提速方法,但当试过以后会发现收效甚微,要想提高clone速度,可行的方法主要还是缓存机制。
当开发者第一次经 Gitclone.com 代理clone项目时,Gitclone.com 异步镜像项目,以后有开发者clone该项目时,就会利用上 Gitclone.com 的本地镜像,而不是从 Github.com 上clone。
Gitclone.com 会在每天夜间与 github.com 同步。
为了解决不断增长的镜像对硬盘资源的需求,Gitclone.com 采用区块链集群方式扩展,每次的镜像操作都会广播到集群中所有服务器,各服务器可选择生成镜像并登记以便以响应后续的clone请求。
同时,Gitclone.com 还对 stackoverflow.com 和go get等的加速访问进行了说明,做到“为开发者服务”。
Gitclone.com 已对 github.com 上star >10000的代码库进行了缓存,并已开始对star > 3000代码库的缓存,对于未缓存过的代码库,开发者只要通过 Gitclone.com 进行clone,就会建立起永久的缓存,以后其他开发者clone时,就会利用上缓存。开发者使用越多,缓存命中率越大,越clone越快。
Gitclone.com使用方法
Gitclone.com使用方法非常简单,它是通过开发者的clone动作,建立起github的分布式缓存,并提供对github的镜像功能,为程序员服务。不需要繁琐的fork或导入工作,只需要将clone命令增加--gitclone.com/,就可以达到1.27M/s的clone速度。如:
下载github上的代码--as7341:
使用Github原始命令进行clone,速度为60K左右:
使用Gitclone命令惊醒clone,速度提升到150K:
从上面的clone速度数据看,提升了2.5倍的速度。这对于开发者是非常友好的。
总结
Gitclone.com也不是完全完美的,如果仓库的star小于10000的,或者前人没有下载过的,也就是没有缓存,那么下载也是缓慢的。
如果前人通过Gitclone.com下载过的仓库,对于后面的开发者同样使用Gitclone.com将非常友好。速度将会提升很多。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !