Maven是當前流行的項目管理工具,但官方的庫在國內常常連不上,連上之後龜通常的速度也能讓你崩潰,這時候也許你會去搜索下如何加速。 百度搜索 maven鏡像
會發現絕大部分都在推薦 阿里雲 的鏡像服務,可是阿里雲的鏡像服務真的好用嗎?去國內各大雲廠商搜索了下發現都提供了鏡像服務,到底哪一個是最快的呢?這裏進行深度測試。各大廠商也是雞賊,對關鍵字也作了處理好比騰訊的 騰訊雲鏡像maven
騰訊雲maven鏡像
緩存
咱們分表從用戶體驗、下載速度進行評測bash
使用指南
的連接settings.xml
文件便可<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里雲公共倉庫</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
複製代碼
<mirror>
<id>nexus-tencentyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
複製代碼
<mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
複製代碼
華爲雲每一步都替用戶着想,詳細的配置說明羅勝一籌maven
示例程序使用以前多數據源配置的程序樣例,文末有下載方式工具
咱們使用華爲雲maven鏡像加速下載下來的配置文件爲模板,複製三份,mirror分別指定爲華爲雲、阿里雲、騰訊雲的地址,文件命名爲 settings_ali.xml settings_huawei.xml settings_tencent.xml
測試
maven本地緩存路徑使用默認的地址 ${user.home}/.m2/repository
,每次構建以前須要清理本地緩存文件gradle
rm -rf /root/.m2/repository/*
複製代碼
maven命令以下ui
mvn clean package -Dmaven.test.skip=true -s settings_ali.xml
複製代碼
這裏以華爲云爲例,腳本執行100次阿里雲
#!/bin/bash
echo '' > huawei
for ((i=1; i<=100; i ++))
do
echo $i
rm -rf /root/.m2/repository/*
# start_mill=$((`date '+%s'`*1000+`date '+%N'`/1000000))
mvn clean package -Dmaven.test.skip=true -s settings_huawei.xml >> huawei
# end_mill=$((`date '+%s'`*1000+`date '+%N'`/1000000))
# diff=$[10#$end_mill-10#$start_mill]
#echo $diff >> huawei
done
grep 'Total time' huawei |awk 'BEGIN {max = 0} {if ($4>max) max=$4 fi} END {print "Max=", max}'
grep 'Total time' huawei |awk 'BEGIN {min = 6553565} {if ($4<min) min=$4 fi} END {print "Min=", min}'
grep 'Total time' huawei |awk '{sum+=$4}END{print "Average = ", sum/NR}'
複製代碼
使用到了awk進行統計url
機器配置:騰訊雲1C2G1Mspa
結果然是出乎意料,計時單位都差了一個級別,華爲雲在秒級,其餘的則到了分鐘級
到這裏孰優孰劣一眼就能看出來了。
華爲,NB。
用戶體驗: 華爲雲>騰訊雲>阿里雲 下載速度: 華爲雲>阿里雲>騰訊雲
用戶體驗無所謂了一次性配置,咱們確定首選下載速度最快的華爲雲了。
小技巧:使用nohup讓腳本後臺運行,nohup sh mvn-tencent.sh &
關注公衆號回覆 mvn
獲取完整測試代碼
關注公衆號回覆 mvn
獲取完整測試代碼
---END---