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

如何限制硬盘的使用 #342

Closed
ihufu opened this issue Jun 28, 2024 · 15 comments
Closed

如何限制硬盘的使用 #342

ihufu opened this issue Jun 28, 2024 · 15 comments

Comments

@ihufu
Copy link

ihufu commented Jun 28, 2024

我是用来转换图片站的,会经常把硬盘用到100%导致无法使用。
我翻看了参数没有说到限制硬盘使用,有什么方法能限制吗。

@n0vad3v
Copy link
Member

n0vad3v commented Jun 28, 2024

你的问题和以下两个 Issue 相关:

目前这个服务还不支持自动清理文件,暂时可以手动通过加入 crontab 来清理,例如只保留 1 天的 WebP 缓存,类似如下:

0 0 * * * find /path/to/your/webp/exhaust/ -type f -ctime +1 -exec rm {} \;

如果未来我们要加入类似的功能的话,你期待的是一种什么样的配置形式呢?(例如,设定最大缓存总容量?)

@ihufu
Copy link
Author

ihufu commented Jun 28, 2024

我希望是设定最大容量,这样到达了最大限制就删除最早缓存的。
CACHE_TTL 这个ttl到期会自动删除吗?
metadata、remote-raw这两个目录不需要删除吗?

@n0vad3v
Copy link
Member

n0vad3v commented Jun 28, 2024

根据文档: https://docs.webp.sh/usage/configuration/, CACHE_TTL 的设定是在使用 Remote Backends 的时候回源探测的时间(即一次成功回源后 N 分钟内不再回源探测)。

metadata、remote-raw 也可以一并删除,我们在考虑在后续开发加入一个 MAX_CACHE_SIZE 参数指定最大缓存容量(单位是 MB),这样设定了非 0 的值后 WebP Server Go 会自动间隔 X 时间(分钟)清理 exhaustmetadataremote-raw 目录保证分别不超过设定值,敬请期待。

@ihufu
Copy link
Author

ihufu commented Jun 28, 2024

如果这个MAX_CACHE_SIZE是非“0”值把转换的图片清理了,CACHE_TTL也没到期,那还会去后端回源探测吗?

@n0vad3v
Copy link
Member

n0vad3v commented Jun 28, 2024

如果这个MAX_CACHE_SIZE是非“0”值把转换的图片清理了,CACHE_TTL也没到期,那还会去后端回源探测吗?

(如果未来我没写出 Bug 的话)会的,因为本地已经找不到转换的图片了,所以会回源检测+重新拉取原图+转换。

@ihufu
Copy link
Author

ihufu commented Jun 28, 2024

0 0 * * * find /path/to/your/webp/exhaust/ -type f -ctime +1 -exec rm {} ;
0 0 * * * find /path/to/your/webp/metadata/ -type f -ctime +1 -exec rm {} ;
0 0 * * * find /path/to/your/webp/remote-raw/ -type f -ctime +1 -exec rm {} ;

是不是把对应的目录改成这样就可以只保留一天的数据了?
这些都是本地对应的目录吗?

@n0vad3v
Copy link
Member

n0vad3v commented Jun 28, 2024

看上去没错,「本地对应的目录」是指?

@ihufu
Copy link
Author

ihufu commented Jun 28, 2024

就是物理机映射到docker的目录

@n0vad3v
Copy link
Member

n0vad3v commented Jun 28, 2024

那应该没错

@ihufu
Copy link
Author

ihufu commented Jun 28, 2024

那就只能先用任务计划了,在等你们更新。

@n0vad3v
Copy link
Member

n0vad3v commented Jun 29, 2024

@ihufu 我们发布了 0.12.0,加入了 MAX_CACHE_SIZE 选项,欢迎试用体验,相关文档:https://docs.webp.sh/usage/configuration/

https://github.com/webp-sh/webp_server_go/releases/tag/0.12.0

@ihufu
Copy link
Author

ihufu commented Jun 29, 2024

#336 这个啥时候能修复啊

@n0vad3v
Copy link
Member

n0vad3v commented Jun 29, 2024

#336 这个啥时候能修复啊

这个问题我们已经在原 Issue 中回复,我们目前倾向于对于有同样前缀的路径应该按照由长到短的顺序配置,暂无明确优化时间。

@ihufu ihufu closed this as completed Jun 29, 2024
@ihufu
Copy link
Author

ihufu commented Jun 29, 2024

“MAX_CACHE_SIZE”这个的默认单位是MiB,能不能改成用户自定义,比如我要限制100g。
"MAX_CACHE_SIZE": 100g, 这样是不是更方便。

@ihufu ihufu reopened this Jun 29, 2024
@BennyThink
Copy link
Member

“MAX_CACHE_SIZE”这个的默认单位是MiB,能不能改成用户自定义,比如我要限制100g。

"MAX_CACHE_SIZE": 100g, 这样是不是更方便。

暂无此计划,如有PR欢迎

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