Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

加载云盘存储文件优化建议 #25

Open
Zrincet opened this issue Jul 11, 2024 · 7 comments
Open

加载云盘存储文件优化建议 #25

Zrincet opened this issue Jul 11, 2024 · 7 comments

Comments

@Zrincet
Copy link

Zrincet commented Jul 11, 2024

目前的逻辑是在同步开始时会通过分页遍历获取一遍阿里云盘所有的文件信息,如果云盘原本文件过多,则会造成获取时间过长,比如我的云盘单是获取一遍文件就要花费36分钟。由于获取的文件是放在变量中,Docker容器内存占用最高达到2.84G。但是最终所使用到的只是设置的备份目标目录下的文件情况。

微信截图_20240711162035

优化建议:
只对设置的备份目录进行遍历获取文件以及文件夹情况,不再获取云盘其他无关文件的信息。以便减少花费时间、资源占用以及减少对阿里云盘api调用次数

@trueai-org
Copy link
Owner

可以的,非常感谢您的建议,受阿里云 api 的限流限制,如果整个网盘文件较少时,例如:低于1万,那么采用目前的方案可以快速检索文件。
当如果整个网盘文件较多时,目前的方案就不使用了,后面会加入一个选项,检索文件模式:全盘检索/目录检索。

@trueai-org
Copy link
Owner

目前阿里云盘,目录检索需要递归嵌套一次一次的 api 执行,且获取列表 api 速率有严格的限制,因此之前没有优化。
预计会在 3.x 版本对此问题做出优化。

@Zrincet
Copy link
Author

Zrincet commented Jul 11, 2024

目前阿里云盘,目录检索需要递归嵌套一次一次的 api 执行,且获取列表 api 速率有严格的限制,因此之前没有优化。 预计会在 3.x 版本对此问题做出优化。

感谢您的付出,我看到阿里云盘的搜索接口的query参数是可以限定parent_file_id参数,是不是可以平替获取列表 api,或者这个搜索接口也有10秒150次的限制,那就没有区别了

@trueai-org
Copy link
Owner

是的,接口有提供 parent_file_id 字段,但是如果备份目录文件夹过多,例如:1万个文件夹,10000/4 = 2500s ≈ 40 分钟,此 api 限流 4次/秒,之前和阿里云盘团队沟通后,阿里云盘技术那边考虑到各种问题,提供的最佳方案是全盘检索模式。
以后会提供一个选项,可以让用户自由选择加载文件的方式。

@Zrincet
Copy link
Author

Zrincet commented Jul 11, 2024

是的,接口有提供 parent_file_id 字段,但是如果备份目录文件夹过多,例如:1万个文件夹,10000/4 = 2500s ≈ 40 分钟,此 api 限流 4次/秒,之前和阿里云盘团队沟通后,阿里云盘技术那边考虑到各种问题,提供的最佳方案是全盘检索模式。 以后会提供一个选项,可以让用户自由选择加载文件的方式。

soga,了解了,感谢!

@xmzcl
Copy link

xmzcl commented Jul 26, 2024

我也有这个问题,每次加载云盘文件时间太长了。希望可以早日解决~

@trueai-org
Copy link
Owner

OK,收到我们这边尽快处理。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants