Java开发者必备神器Maven国内镜像加速深度测试

Maven是当前流行的项目管理工具,但官方的库在国内常常连不上,连上之后龟通常的速度也能让你崩溃,这时候也许你会去搜索下如何加速。 百度搜索 maven镜像 会发现绝大部分都在推荐 阿里云 的镜像服务,可是阿里云的镜像服务真的好用吗?去国内各大云厂商搜索了下发现都提供了镜像服务,到底哪一个是最快的呢?这里进行深度测试。各大厂商也是鸡贼,对关键字也作了处理好比腾讯的 腾讯云镜像maven 腾讯云maven镜像缓存

镜像地址

咱们分表从用户体验、下载速度进行评测bash

用户体验

阿里云

  • 打开阿里云maven镜像网址 maven.aliyun.com/mvn/view 列出了所代理的镜像地址,基本经常使用的都在列了,具体如何配置很难找打,若是你细心的话会发现右上角有一个 使用指南 的连接

1-ali-help

  • 进去使用指南界面,这个界面符合阿里全部帮助文档的风格,第一部分是代理仓库列表,第二部分为配置指南,包含 mvn和gradle的配置详解,直接复制配置到 settings.xml 文件便可
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>
复制代码

1-ali-conf

腾讯云

  • 打开腾讯云maven镜像地址 mirrors.cloud.tencent.com/ 以列表的形式列出了全部支持的软件源,一样在右上角有 很不明显的文档连接

2-tencent-help

  • 进去之后须要认真查看才能看到maven镜像加速的配置,简单介绍了如何进行配置,一样提供了一键复制功能
<mirror>
     <id>nexus-tencentyun</id>
     <mirrorOf>*</mirrorOf>
     <name>Nexus tencentyun</name>
     <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
 </mirror>
复制代码

2-tencent-conf

华为云

  • 打开华为云maven镜像 mirrors.huaweicloud.com/ 乍一看界面很复杂,可是界面很友好,提供了多种检索方式,能够根据须要很方便的进行搜索,maven属于语言类的咱们点击语言类的进行查看,用卡片的形式对结果进行了渲染,鼠标上去还有高亮标记,能够说很用心了

3-huawi-help

  • 点击maven卡片会提示登陆、注册、或者继续使用,这里特地强调了华为镜像使用了CDN加速,而且下载速度快一倍

3-huawi-cdn

  • 咱们点击继续使用,打开的界面也很直观,提供了jdk下载、maven加速下载地址,maven、gradle能够直接切换,而且详细说明了如何进行替换,更加用心的是提供了一键下载能够直接下载完整的配置文件,良心啊,每一步都替用户着想,新手引导连接跳转到了华为论坛,更加详细的指导,一键复制mirror地址进行配置
<mirror>
    <id>huaweicloud</id>
    <mirrorOf>*</mirrorOf>
    <url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
复制代码

3-huawi-detail

结论

华为云每一步都替用户着想,详细的配置说明罗胜一筹maven

下载速度

配置文件准备

示例程序使用以前多数据源配置的程序样例,文末有下载方式工具

咱们使用华为云maven镜像加速下载下来的配置文件为模板,复制三份,mirror分别指定为华为云、阿里云、腾讯云的地址,文件命名为 settings_ali.xml settings_huawei.xml settings_tencent.xml测试

maven本地缓存路径使用默认的地址 ${user.home}/.m2/repository ,每次构建以前须要清理本地缓存文件gradle

rm -rf /root/.m2/repository/*
复制代码

咱们使用maven命令行窗口指定特定settings.xml的方式进行测试

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

结果然是出乎意料,计时单位都差了一个级别,华为云在秒级,其余的则到了分钟级

4-danwizhicha

华为云平均下载 20.09 s

5-huawei-info

腾讯云平均下载 2 m

6-tengxun-info

阿里云平均下载 1.23 m

7-ali-info

到这里孰优孰劣一眼就能看出来了。

华为,NB。

结论

用户体验: 华为云>腾讯云>阿里云 下载速度: 华为云>阿里云>腾讯云

用户体验无所谓了一次性配置,咱们确定首选下载速度最快的华为云了。

小技巧:使用nohup让脚本后台运行,nohup sh mvn-tencent.sh &

关注公众号回复 mvn 获取完整测试代码

一个程序猿的异常

关注公众号回复 mvn 获取完整测试代码

---END---

相关文章
相关标签/搜索