自建网盘该不该用:先看它解决的问题是不是你的问题

自建服务 · 3 分钟阅读· 266 次阅读

Nextcloud 的体积主要花在文件数上,10 万小文件比 1TB 大文件更吃数据库

它擅长的是多设备文件同步;如果你只是家庭照片备份,用现成的东西更省事。

先说结论

自建网盘的瓶颈通常在 PHP 和数据库,不在磁盘;文件数一多就现原形

  • 适合:多设备文件同步
  • 不适合:小团队共享盘
  • 学习成本:PHP 的 memory_limit 默认 128M,扫描大目录会直接 OOM
  • 最大收益:后台任务默认走 AJAX,只有配了 cron 才会准时跑预览和清理
  • 最大风险:后台任务用 AJAX 模式,预览和清理全堆着不跑

它到底解决什么

Nextcloud 的体积主要花在文件数上,10 万小文件比 1TB 大文件更吃数据库。

换句话说,它把「多设备文件同步」这件事从手工变成可重复的流程。这是它真正的价值,而不是功能列表的长度。

什么时候不该用

下面三种情况,用了反而更累:

后台任务用 AJAX 模式,预览和清理全堆着不跑

跳过 28 直接升 30,升级脚本第一步就报错

只备份 data 目录不备份数据库,恢复后文件全成孤儿

和替代方案比

预览图默认预生成,几万张照片能占掉和原件相当的空间。

方案 上手成本 适用规模 代价
自建网盘 中等 中大型 需要维护
只做 SMB 共享 低 小型 定制能力弱
用对象存储加客户端 低 一次性任务 不可维护

自建网盘该不该用

这台工具的关键细节

几个决定长期体验的点:

  • PHP 的 memory_limit 默认 128M,扫描大目录会直接 OOM
  • 后台任务默认走 AJAX,只有配了 cron 才会准时跑预览和清理
  • 预览图默认预生成,几万张照片能占掉和原件相当的空间
  • SQLite 只适合单人试用,并发写入一多就锁库

我的建议

自建网盘的瓶颈通常在 PHP 和数据库,不在磁盘;文件数一多就现原形。

先用两周,跑一个真实的小任务;两周后你还想用它,再谈长期。

还有几处容易忽略的

都是小地方,但出问题时往往就卡在这里。

  • 升级只能逐个大版本走,28 不能直接跳到 30

工具是解法,不是身份。

评论 (3)

阿
阿哲

排查顺序那段直接抄进值班手册了。

K
Kevin

版本差异要强调,我照着做结果参数名全变了。

老
老吴

备份没验证过等于没有,这条我认。

发表评论

验证码

提交后需站长审核,通过后才会显示。