shell - 如何以更大的带宽从 ENA 下载数据文件?
问题描述
您好我正在尝试使用以下循环命令从 ENA ftp 服务器下载大约 4000 个 Fastq 文件:
while read i; do n=$(echo "$i" | sed -E 's/(SRR...).*/\1/'); wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/$n/$i/$i*; done < IDS.txt
但是,我有 20 mb 的下载带宽,但是当我下载时,下载速度仅在 100-350 kbs 之间,因此,下载数据需要很长时间。有人对 aspera 有想法吗?或其他任何人都可以帮助或推荐的东西?
解决方案
您看到带宽使用率低于总可用带宽的可能原因有两个:
- 您的 ISP 在每个连接的基础上限制您的带宽。也就是说,每个 HTTP(S) 连接都限制了带宽。在这种情况下,使用多个线程/进程可能非常有用。为此,我建议使用GNU Wget2。Wget2 是 Wget 的下一个版本,它支持多线程。它仍处于 alpha 阶段,但我们认为它已准备好供公众使用。
- 服务器的带宽受到限制。如果服务器限制了总带宽,则您无法提高速度。
完全披露:我是 GNU Wget 和 GNU Wget2 的维护者。
推荐阅读
- android - 捕获到全局异常时 UI 被阻塞
- haskell - Haskell:类型签名是完全的是什么意思?
- c# - 将参数从动态创建的 HTML 元素传递给 onclick 事件 asp.net
- python - 如何找出在Vim中导入python模块这个问题的原因和解决方案
- django - Django询问实例而不是价值
- python - python - 当附加了字节标记时,如何在python中将字节转换为整数?
- javascript - jQuery 3.3.1 - 行未使用 append() 添加到表的 tbody
- python - 获取数据透视表中列部分的平均值
- c# - 如何通过运行时用户帐户使用 PowerShell 读取 Outlook 邮箱
- javafx - 以两行显示 ComboBox 项目,而不是在一行中显示