背景
相信很多開發(fā)者跟我一樣,在github上clone的時候,那速度基本穩(wěn)定在20k/s一下,這速度穩(wěn)如老狗。
當(dāng)克隆一些大一點的倉庫的時候,以這個烏龜級別的速度,很容易出現(xiàn)clone超時的錯誤,等了n久之后下載n%的內(nèi)容一夜回到解放前。相信很多人都經(jīng)歷過這么操蛋的過程。
其實為了加速也有幾種方式:
通過購買梯子,翻墻出去,這個速度可以提升。--- 花錢買速度
使用谷歌瀏覽器,下載加速插件。這個規(guī)定了瀏覽器。--- 綁定瀏覽器
使用gitee,這是國內(nèi)的開源代碼管理網(wǎng)站,所以他的下載速度非???,gitee支持從github代碼倉導(dǎo)入碼云倉庫。--- 需等待同步
除了上面的加速方式,博主推薦另外一個方法--Gitclone.com
什么是Gitclone.com
Gitclone.com 是一個 github.com 緩存加速網(wǎng)站,通過對經(jīng)常訪問的github的代碼庫的緩存,加速從github的git clone操作。當(dāng)您采用git clone的方式clone代碼庫時,Gitclone.com 會建立一個mirror,以后再有開發(fā)者clone時,就能利用上mirror緩存,使得clone速度得到很大的提升,一般從github上git clone只能達(dá)到20k/s的速度,經(jīng)Gitclone.com加速后,可以達(dá)到1.2M/s。
分布式廣泛參與的機(jī)制:github代碼庫緩存需要大量的存儲資源,依靠單個計算節(jié)點難以滿足存儲的需求,所以 Gitclone.com 已建立起4個初始驗證節(jié)點的分布式系統(tǒng),也提供了開發(fā)者將自己的機(jī)器加入緩存資源的機(jī)制。隨著Gitclone開源生態(tài)的逐步完善,開始建立 Gitclone.com 的第五個緩存節(jié)點!
Gitclone.com工作機(jī)理
對于國內(nèi)從github上clone代碼庫是一件耗時的事,對于稍微大一點的代碼庫,clone速度平均只有20k ~ 40k/s,有時甚至?xí)陆档絺€位數(shù),clone時會反復(fù)超時,雖然網(wǎng)上有一些介紹改hosts之類的提速方法,但當(dāng)試過以后會發(fā)現(xiàn)收效甚微,要想提高clone速度,可行的方法主要還是緩存機(jī)制。
當(dāng)開發(fā)者第一次經(jīng) Gitclone.com 代理clone項目時,Gitclone.com 異步鏡像項目,以后有開發(fā)者clone該項目時,就會利用上 Gitclone.com 的本地鏡像,而不是從 Github.com 上clone。
Gitclone.com 會在每天夜間與 github.com 同步。
為了解決不斷增長的鏡像對硬盤資源的需求,Gitclone.com 采用區(qū)塊鏈集群方式擴(kuò)展,每次的鏡像操作都會廣播到集群中所有服務(wù)器,各服務(wù)器可選擇生成鏡像并登記以便以響應(yīng)后續(xù)的clone請求。
同時,Gitclone.com 還對 stackoverflow.com 和go get等的加速訪問進(jìn)行了說明,做到“為開發(fā)者服務(wù)”。
Gitclone.com 已對 github.com 上star >10000的代碼庫進(jìn)行了緩存,并已開始對star > 3000代碼庫的緩存,對于未緩存過的代碼庫,開發(fā)者只要通過 Gitclone.com 進(jìn)行clone,就會建立起永久的緩存,以后其他開發(fā)者clone時,就會利用上緩存。開發(fā)者使用越多,緩存命中率越大,越clone越快。
Gitclone.com使用方法
Gitclone.com使用方法非常簡單,它是通過開發(fā)者的clone動作,建立起github的分布式緩存,并提供對github的鏡像功能,為程序員服務(wù)。不需要繁瑣的fork或?qū)牍ぷ?,只需要將clone命令增加--gitclone.com/,就可以達(dá)到1.27M/s的clone速度。如:
下載github上的代碼--as7341:
使用Github原始命令進(jìn)行clone,速度為60K左右:
使用Gitclone命令驚醒clone,速度提升到150K:
從上面的clone速度數(shù)據(jù)看,提升了2.5倍的速度。這對于開發(fā)者是非常友好的。
總結(jié)
Gitclone.com也不是完全完美的,如果倉庫的star小于10000的,或者前人沒有下載過的,也就是沒有緩存,那么下載也是緩慢的。
如果前人通過Gitclone.com下載過的倉庫,對于后面的開發(fā)者同樣使用Gitclone.com將非常友好。速度將會提升很多。
審核編輯:劉清
-
瀏覽器
+關(guān)注
關(guān)注
1文章
1007瀏覽量
34979 -
GitHub
+關(guān)注
關(guān)注
3文章
461瀏覽量
16237
原文標(biāo)題:Gihub的加速神器--Gitclone.com
文章出處:【微信號:風(fēng)火輪技術(shù)團(tuán)隊,微信公眾號:風(fēng)火輪技術(shù)團(tuán)隊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論