Skip to content

Conversation

@KirCute
Copy link
Contributor

@KirCute KirCute commented Sep 21, 2025

Description / 描述

发现获取驱动空间使用情况时没有用多线程,导致一个目录下有很多驱动挂载点时list非常慢,遂补

增加了alias传递后端驱动空间使用情况的支持

增加选项以关闭管理界面的剩余空间显示

增加了使用普通文字显示驱动空间使用情况的选项,前端:OpenListTeam/OpenList-Frontend#220

增加以下驱动获取空间使用情况的支持:

  • quark_uc
  • 115
  • 123
  • 189
  • 189tv
  • 189pc
  • 139
  • ilanzou
  • onedrive
  • onedrive_app
  • google_drive
  • aliyundrive

hirochachacha/go-smb2库替换为cloudsoda/go-smb2库以解决空间使用情况不正确的问题。

Motivation and Context / 背景

Close #1342

How Has This Been Tested? / 测试

Checklist / 检查清单

  • I have read the CONTRIBUTING document.
    我已阅读 CONTRIBUTING 文档。
  • I have formatted my code with go fmt or prettier.
    我已使用 go fmtprettier 格式化提交的代码。
  • I have added appropriate labels to this PR (or mentioned needed labels in the description if lacking permissions).
    我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
  • I have requested review from relevant code authors using the "Request review" feature when applicable.
    我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
  • I have updated the repository accordingly (If it’s needed).
    我已相应更新了相关仓库(若适用)。

@KirCute KirCute changed the title pref(disk-usage): concurrently get details perf(disk-usage): concurrently get details Sep 21, 2025
@jyxjjj
Copy link
Contributor

jyxjjj commented Sep 21, 2025

线程数不需要做线程池或者限制吗?虽然是Go Routine,但是会导致CPU狂飙?

@KirCute
Copy link
Contributor Author

KirCute commented Sep 21, 2025

线程数不需要做线程池或者限制吗?虽然是Go Routine,但是会导致CPU狂飙?

不至于吧,都是个人使用驱动数量还能多到需要用线程池的地步?

@jyxjjj
Copy link
Contributor

jyxjjj commented Sep 21, 2025

不是,主要是文件数多,驱动那些二道贩子也没几个驱动,如果觉得这个量级没问题就没问题了

@KirCute
Copy link
Contributor Author

KirCute commented Sep 21, 2025

不是,主要是文件数多,驱动那些二道贩子也没几个驱动,如果觉得这个量级没问题就没问题了

只有实现了WithDetails的驱动的挂载点在被List到时会创建 goroutine,应该是没问题

@xrgzs
Copy link
Member

xrgzs commented Sep 21, 2025

话说这个信息能缓存一下吗?目前访问根目录(包含多个存储的目录)都会重新获取

@pandaligx
Copy link

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

@ILoveScratch2
Copy link
Member

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

关闭存储详细显示还会有这种问题吗?

@pandaligx
Copy link

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

关闭存储详细显示还会有这种问题吗?

请问在哪关闭

@ILoveScratch2
Copy link
Member

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

关闭存储详细显示还会有这种问题吗?

请问在哪关闭

设置->样式->Hide storage details(差不多是这个名字)

@pandaligx
Copy link

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

关闭存储详细显示还会有这种问题吗?

请问在哪关闭

设置->样式->Hide storage details(差不多是这个名字)

OK了,谢谢您的建议帮助,我现在加载很快了,后续我再看下服务器会不会满载

@pandaligx
Copy link

自从更新了openlist以后,我发现在登录openlist管理后台后打开云盘的主页会卡顿转圈,没有登录的情况下是秒加载,其次使用过一段时间以后openlist会导致服务器CPU满载。在以前的版本从来没有遇见过,不知道是不是这个问题哦,我有4个容器,只有被挂在的openlist才会导致CPU满载

关闭存储详细显示还会有这种问题吗?

请问在哪关闭

设置->样式->Hide storage details(差不多是这个名字)

最后只剩余这个问题了,拉取的openlist4.1.3会出现CPU满载的情况,只有重启docker内的openlist容器才可以解决满载问题,但是几个小时以后他又会继续满载,不清楚什么情况导致,日志类也没有报错信息
Uploading 企业微信截图_20250923170829.png…

企业微信截图_20250923165717

@KirCute
Copy link
Contributor Author

KirCute commented Sep 23, 2025

话说这个信息能缓存一下吗?目前访问根目录(包含多个存储的目录)都会重新获取

我已经把对GetDetails的调用汇总到op层了,等 #1339 合并吧

@jyxjjj jyxjjj merged commit a2fc38b into OpenListTeam:main Sep 29, 2025
12 checks passed
@KirCute KirCute deleted the perf/disk-usage branch September 29, 2025 17:43
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

Successfully merging this pull request may close these issues.

[BUG] 4.1.3版本SMB识别硬盘大小错误

5 participants