多线程下载工具axel和aria2使用笔记

下载参考基因组的多线程下载工具。

Axel 只能在 linux 中使用,而 aria2 可以在 linux ,windows 等多个系统使用,并且能力更强。

Axel

安装

非root需要用 conda 安装

1
conda install -c bioconda axel

安装完成后,输入以下命令检查是否成功:

1
axel --version

下载

使用 -n参数指定线程数(如 10 或 20),-c参数开启断点续传 ; 建议在命令前加 nohup,防止 SSH 连接断开导致下载中断:

1
nohup axel -n 10 -c 下载链接 &

在scnet云服务器上无法使用

首先在登录节点没法白嫖,不然会触发服务器的安全策略:下载服务器检测到单一 IP(也就是你的登录节点)发起了过高频率的连接请求(多线程下载特征),或者短时间内流量过大,直接拒绝了服务并返回 500 错误 ,示例如下

1
2
ERROR 500: Internal Server Error.
Initializing download: http://muskdb.cn/api/file/download/LS/LS.gff3

计算节点不能联网,也不能用。

因此只能是本地下载下来,然后上传到云服务器上。

aria2

Windows 安装与使用

你不需要复杂的编译,直接下载解压就能用:

  1. 下载:访问 aria2 GitHub 发布页,找到 aria2-1.37.0-win-64bit-build1.zip(版本号可能更新)并下载。

  2. 解压:把里面的 aria2c.exe复制到环境变量文件夹。

  3. 使用:打开命令行窗口

    1
    aria2c.exe -x 16 -s 16 "你的下载链接"
    • -x 16:指定最大连接数为 16(多线程)。
    • -s 16:指定文件分成的段数。将文件预先切分成 16 块来下载。aria2 会尝试用最多 16 个连接去分别下载这些分块。
    • 通常情况下,只要 -x的数值大于等于 -s,aria2 就会按 -s设定的块数进行下载。对于你这种单文件 HTTP 下载,直接设置 -x 16 -s 16即可。如果下载速度不理想,可以尝试增加到 32(即 -x 32 -s 32)。

    下载参考基因组使用参数如下

    1
    aria2c.exe -x 8 -s 8
  4. 最终提示下面信息,说明下载完成

    1
    2
    Status Legend:
    (OK):download completed.

linux 安装与使用

运行下面命令

1
conda install -c conda-forge aria2

安装完看看有没有安装上

1
aria2c -v

使用命令

1
aria2c -c -x 16 "你的下载链接"
  • -c(continue):这是最重要的参数。它保证如果网络断了或者你关了终端,下次接着下,不用从头开始。对于大文件(如基因组数据),这是必选项。
  • -x 16:开启多线程加速,让下载速度跑满带宽。

与 axel 对比

特性 aria2 axel
速度与效率 更强。支持更高的线程数(如 32 线程),且资源占用优化得更好,在面对限速严格的服务器时往往能榨取更多带宽。 较快。轻量级,但在极高线程数下的表现通常不如 aria2。
稳定性 极高。支持断点续传非常完善,即使网络波动中断,重新执行命令也能无缝继续,极少出现文件损坏。 一般。虽然也支持续传,但在某些复杂的网络环境下,偶尔会出现下载卡死或校验失败的情况。
功能丰富度 全能型。除了 HTTP/HTTPS/FTP,还支持磁力链接、BT 种子,甚至可以当离线下载服务器使用。 轻量型。专注于单纯的 HTTP/FTP 多线程加速,功能单一。

因此,在 Linux 服务器上也更推荐使用 aria2。它比 axel 更现代、更稳定,且速度上限更高。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2019-2026 Vincere Zhou
  • 访问人数: | 浏览次数:

请我喝杯茶吧~

支付宝
微信