Comments (10)
抱歉,是我没把文档写清楚。
对于下载命令 d
,如果不加 -d
来指定下载器,都是默认使用 me
下载器。所有你以上使用的命令都是用 me
下载器。me
下载器只使用一个连接下载,并发选项 -s
是指同时并发下载文件的数量,而不是下载一个文件使用的连接数量。所以你上面的命令都只使用了一个连接来下载文件,而 BaiduPCS-Go 是使用了8个连接来同时下载一个文件。我想 App 也是一样的。
如果想对一个文件同时使用多个连接同时下载,你需要指定下载器为 aget_py
或 aget_rs
,前者默认安装,后者需要手动安装。
对于 svip 帐号,-k
设置为 40m ~ 50m 比较好,如果带宽跑不满,可以增加 -s
并发值。
比如,你可以试试下面的命令,应该可以跑满带宽:
BaiduPCS-Py d /abc -d aget_py -s 10 -k 50m
from baidupcs-py.
感谢反馈。
可否能贴出你上面测试用的具体命令(文件名用 abc 代替就可)和测试环境,包括 BaiduPCS-Py 和 与之对比的 BaiduPCS-Go 命令。
这样我可以检测什么地方出了问题。
from baidupcs-py.
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.
移动 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.
忘了说环境都是Win10专业版,性能应该不是瓶颈,R7 4800H 3060 24G内存 500G SSD(sn550)
from baidupcs-py.
原来如此,十分感谢!!!
是我没认真看文档,这次尝试了你给的那条命令,下载单文件 995MB 只用了 35s,平均速度 28.4MB/s,快太多了。
from baidupcs-py.
-s
一般设为 5,太大可能有被封的风险。
from baidupcs-py.
好的,不过我还有几个问题:
-
BaiduPCS-Py 计算文件大小是除以 1000,这是正常的吗(上面的 995MB 实际是 995,043,234 字节,除 1024 再除 1024 的话是 948MB 和 Win10 显示一致)
-
使用
aget_py
下载器后不显示进度和速度了,一直都是 0% 和 0MB/s,但实际是正常下载的。 -
这个是我个人的问题,买个欧美地区的 1Gbps 大带宽 vps 运行此项目可以实现高速下载吗?我在手机上挂梯子如果选用香港节点貌似下载不了文件,但是美国的节点能正常下载文件,只不过不是很快。
from baidupcs-py.
- 这是个 bug,会在下个版本修复。
- 不显示进度和速度是 aget_py 设计问题,它要下载完一个
-k
的大小的块才会更新进度。
最近不会修复这个问题。如果你在意这个问题,可以换用 aget_rs 试试,它的进度显示是正常的。 - 用国外的服务器只会减慢下载速度。毕竟数据要绕去国外再转回来。
from baidupcs-py.
好的,感谢耐心解答!
from baidupcs-py.
Related Issues (20)
- api接口无法登录 HOT 5
- 希望减少一下依赖,baidupcs-py构建太慢了 HOT 1
- 希望sdk能够给上传文件,加个进度条显示 HOT 3
- 用docker的python镜像构建,会报下面的错误 HOT 5
- 发布增加 wheel 文件
- Feature Request: extract sdk/api into a seperat package HOT 3
- Support python 3.11 HOT 1
- BaiduPCS-Py save的时候REMOTEDIR路径中有空格怎么处理 HOT 5
- 开启HTTP服务时报错 HOT 1
- 列出目录和下载凡是带空格的文件夹好像都失效了 HOT 3
- 有没有办法生成BaiduYunCacheFileV0.db 文件 HOT 1
- 上传文件到最后10%左右速度下降至200k HOT 2
- 上传速度突然变慢/8.19彻底无法上传 HOT 8
- 求教大佬们,同步本地目录到网盘的命令,如何显示进度? HOT 1
- (v0.7.6) System ERROR: Cannot specify `Depends` for type
- 如何自定义配置目录 HOT 1
- 安装时报错Failed to build BaiduPCS-Py ERROR: Could not build wheels for BaiduPCS-Py, which is required to install pyproject.toml-based projects
- 在使用share命令后出现:BaiduPCSError: error_code: 2, message: 参数错误 HOT 1
- subprocess-exited-with-error 安装baidupc-py失败 HOT 1
- 交互运行后出现cookies的字典格式不正确 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from baidupcs-py.