Julia 1.4-Dev Pkg服务器使用测试


#1

Julia 1.4 下可以通过设置JULIA_PKG_SERVER来调整registry和package的下载来源,对于国内用户来说应该是一个好消息,目前还在测试阶段,因此只有官方源pkg.julialang.org,未来1.4正式发布之后应该会有国内镜像站。这里简单测试一下设置与不设置时对于装包时的时间影响:

设置的方式: shell下直接运行JULIA_PKG_SERVER=pkg.julialang.org ./julia,注意这里需要从master手动编译julia

  • pre-test: rm ~/.julia/packages ~/.julia/artifacts (也可以设置DEPOT_PATH)
  • test: time ./julia -e 'using Pkg; Pkg.add(["Images", "Plots", "Flux"])' 取系统实际时间(最后一项) 然后利用ifstat监测网络流量

测试网络:上海电信100M
时间:2019.12.20 01:00 UTC+8

  • 挂美国代理不设置JULIA_PKG_SERVER: 6分33秒 (大概下载速度在500KB/s,最高下载速度在4MB/s)
  • 直接连接,设置JULIA_PKG_SERVER: 21分11秒(大概下载速度在300KB/s,最高速度在2MB/s)
  • 直接连接,不设置JULIA_PKG_SERVER: 完全下载不动… 长期处于0KB/s,最高100KB/s
Julia Version 1.4.0-DEV.639
Commit 320ee5acba (2019-12-19 14:33 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

有兴趣可以跟踪一下这个issue: https://github.com/JuliaLang/Pkg.jl/issues/1377


#2

AS133119 (China Unicom IP network)

直接连接 704.498471 seconds
Pkg server 414.403850 seconds

Julia Version 1.4.0-DEV.639
Commit 320ee5acba (2019-12-19 14:33 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.6.0)
  CPU: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
Environment:
  JULIA_PKG_SERVER = pkg.julialang.org

另外一楼环境变量那块和Pkg.add写错了,改一下?


#3

我关掉ssr,在虚拟机上测试的,学校实验室的网测了一下实时网速在5.5M/s.
直接连接 完成时间在7min36.5s
export JULIA_PKG_SERVER=pkg.julialang.org 有问题,试了三次都是装到某个包就会卡住不动了。
我在科大镜像上下载的latest版本,难道是这个的问题?

julia> versioninfo()
Julia Version 1.4.0-DEV.648
Commit 608567f856 (2019-12-20 08:29 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)


#4

利用 https://github.com/JuliaPackaging/PkgServer.jl 自建了pkgserver然后在同网段的另服务器内下做测试(千兆网线)

time env JULIA_DEPOT_PATH=~/local/julia JULIA_PKG_SERVER=http://juliapkg.lflab.cn ./julia -e 'using Pkg; Pkg.add(["Images", "Plots", "Flux"])'

大概30s搞定… 其中峰值速度可以达到100Mb/s

服务器的使用量

Client:

jc@mathlf1:~/l/julia
» du -sh *
757M	artifacts
788K	compiled
36K	environments
12K	logs
237M	packages
8.0K	prefs
58M	registries
12K	servers

PkgServer:

jc@storage:/m/julia_pkg
» du -sh *
259M	artifact
29M	package
512	registries
36M	registry