Giter Club home page Giter Club logo

Comments (10)

PeterDing avatar PeterDing commented on May 29, 2024 1

抱歉,是我没把文档写清楚。

对于下载命令 d,如果不加 -d 来指定下载器,都是默认使用 me 下载器。所有你以上使用的命令都是用 me 下载器。me 下载器只使用一个连接下载,并发选项 -s 是指同时并发下载文件的数量,而不是下载一个文件使用的连接数量。所以你上面的命令都只使用了一个连接来下载文件,而 BaiduPCS-Go 是使用了8个连接来同时下载一个文件。我想 App 也是一样的。

如果想对一个文件同时使用多个连接同时下载,你需要指定下载器为 aget_pyaget_rs,前者默认安装,后者需要手动安装。

对于 svip 帐号,-k 设置为 40m ~ 50m 比较好,如果带宽跑不满,可以增加 -s 并发值。
比如,你可以试试下面的命令,应该可以跑满带宽:

BaiduPCS-Py d /abc -d aget_py -s 10 -k 50m

from baidupcs-py.

PeterDing avatar PeterDing commented on May 29, 2024

感谢反馈。

可否能贴出你上面测试用的具体命令(文件名用 abc 代替就可)和测试环境,包括 BaiduPCS-Py 和 与之对比的 BaiduPCS-Go 命令。
这样我可以检测什么地方出了问题。

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

BaiduPCS-Go 默认分块大小是 64 KB

D:\BaiduPCS-Go d --save /4k.mp4

[0] 提示: 当前下载最大并发量为: 8, 下载缓存为: 65536
[1] 加入下载队列: /4K.mp4

[1] ----
类型 文件
文件路径 /4K.mp4
文件名称 4K.mp4
文件大小 493295519, 470.443267MB
md5 (可能不正确) 155ad5260hd9c983632f3fea8723fff0
app_id 250528
fs_id 1004526498096982
创建日期 2020-05-09 22:25:29
修改日期 2021-07-08 11:45:15

[1] 准备下载: /4K.mp4
[1] 将会下载到路径: 4K.mp4

[1] ↓ 213.81MB/470.44MB 10.86MB/s in 21s, left 23s ............

默认参数下载:

D:\>BaiduPCS-Py d /4k.mp4
⠇ 4k.mp4.tmp -- ------------------------------------- 6.2% • 30.5/493.3 MB • 3.0 MB/s • 0:02:36

提高线程数、减小分块大小:

D:\>BaiduPCS-Py d -s 10 -k 500k /4k.mp4
⠦ 4k.mp4.tmp - -------------------------------------- 2.9% • 14.3/493.3 MB • 1.9 MB/s • 0:04:09

进一步提高线程数、减小分块大小至与 BaiduPCS-Go 相等:

D:>BaiduPCS-Py d -s 20 -k 64k /4k.mp4
⠹ 4k.mp4.tmp ---------------------------------------- 0.4% • 1.9/493.3 MB • 315.1 kB/s • 0:26:00

意外的是我发现如果增加分块大小,速度提上去了,在 5-8MB/s 之间波动:

D:\>BaiduPCS-Py d -s 20 -k 5120k /4k.mp4
⠏ 4k.mp4.tmp --------------- ------------------------ 38.3% • 188.7/493.3 MB • 8.2 MB/s • 0:00:38

提高线程数,没有改善:

D:\>BaiduPCS-Py d -s 30 -k 5120k /4k.mp4
⠧ 4k.mp4.tmp ------ --------------------------------- 15.9% • 78.6/493.3 MB • 8.2 MB/s • 0:00:51

减少线程数,没有改善

D:\>BaiduPCS-Py d -s 5 -k 5120k /4k.mp4
⠦ 4k.mp4.tmp --------- ------------------------------ 24.4% • 120.6/493.3 MB • 8.2 MB/s • 0:00:46

不改线程数、增大分块大小,前期速度波动在 6-10MB/s,后期稳定在 2MB/s:

D:\>BaiduPCS-Py d -s 20 -k 10240k /4k.mp4
⠧ 4k.mp4.tmp ---------------------------------- ----- 87.1% • 429.8/493.3 MB • 1.8 MB/s • 0:00:36

我现在换到移动 300Mbps 网络试试……

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

移动 300Mbps 网络:

前期 10-20MB/s 波动,后期 1-5MB/s 波动:

D:\>BaiduPCS-Py d -s 20 -k 10240k /8k.mp4
⠋ 8k.mp4.tmp ---------------- ----------------------- 42.2% • 419.4/995.0 MB • 21.8 MB/s • 0:00:27

将线程数改为 1 ,结果和上面相同:

D:\>BaiduPCS-Py d -s 1 -k 10240k /8k.mp4
⠋ 8k.mp4.tmp ------------------- -------------------- 47.8% • 475.5/995.0 MB • 1.3 MB/s • 0:06:52

将分块大小提高至30MB,速率在 20-30MB/s 波动:

D:\>BaiduPCS-Py d -s 1 -k 30720k /8k.mp4
⠹ 8k.mp4.tmp ----------------- ---------------------- 44.6% • 443.4/995.0 MB • 33.0 MB/s • 0:00:17
用上面这条命令实测用时 103s,平均 9.6MB/s,中间网速波动很大,一时很快(30+MB/s),一时很慢(1MB/s)。
我在手机APP中下载实测用了 35s,平均 33.1 MB/s,网速波动很小。

不过这个速度也很满意了,感谢!

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

忘了说环境都是Win10专业版,性能应该不是瓶颈,R7 4800H 3060 24G内存 500G SSD(sn550)

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

原来如此,十分感谢!!!

是我没认真看文档,这次尝试了你给的那条命令,下载单文件 995MB 只用了 35s,平均速度 28.4MB/s,快太多了。

from baidupcs-py.

PeterDing avatar PeterDing commented on May 29, 2024

-s 一般设为 5,太大可能有被封的风险。

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

好的,不过我还有几个问题:

  1. BaiduPCS-Py 计算文件大小是除以 1000,这是正常的吗(上面的 995MB 实际是 995,043,234 字节,除 1024 再除 1024 的话是 948MB 和 Win10 显示一致)

  2. 使用 aget_py 下载器后不显示进度和速度了,一直都是 0% 和 0MB/s,但实际是正常下载的。

  3. 这个是我个人的问题,买个欧美地区的 1Gbps 大带宽 vps 运行此项目可以实现高速下载吗?我在手机上挂梯子如果选用香港节点貌似下载不了文件,但是美国的节点能正常下载文件,只不过不是很快。

from baidupcs-py.

PeterDing avatar PeterDing commented on May 29, 2024
  1. 这是个 bug,会在下个版本修复。
  2. 不显示进度和速度是 aget_py 设计问题,它要下载完一个 -k 的大小的块才会更新进度。
    最近不会修复这个问题。如果你在意这个问题,可以换用 aget_rs 试试,它的进度显示是正常的。
  3. 用国外的服务器只会减慢下载速度。毕竟数据要绕去国外再转回来。

from baidupcs-py.

Pandaft avatar Pandaft commented on May 29, 2024

好的,感谢耐心解答!

from baidupcs-py.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.