知识库超过 2 万文件,怎么让 Obsidian 保持流畅

   系列前 17 篇把知识库从搭建到维护讲了个七七八八。上周有朋友问了一个很实际的问题:vault 超过 2 万个文件了,Obsidian 不卡吗?

   卡,当然卡过。

   2.5 万个文件,12 万张图片塞在一个仓库里,想不卡很难。

   但这不等于要忍受。花了一个多月反复调,现在日常操作基本感觉不到延迟。这篇说几个我觉得最管用的做法。

  图片搬出去是最大的一步。

   Obsidian 的 assets 放在 vault 里面是最拖速度的。12 万张图片,24GB,全在 vault 目录下。每次加载文件列表、搜索、甚至打开文件夹,Obsidian 都要扫描这些图片。

   改动很简单:把图片目录移到 vault 外面。

原来是这样:
Obsidian Vault/
├── assets/           ← 12 万张图片,24GB
├── 笔记/
└── 公众号文章/

改成这样:
/data/Obsidian-assets/    ← 图片独立出去
Obsidian Vault/
├── assets/               ← 符号链接指向外部目录
├── 笔记/
└── 公众号文章/

   关键一步:在 Obsidian 设置里把「附件文件夹」设为 assets/。新图片自动存到外部目录,vault 里的 assets/ 只是一个符号链接。

   就这一项改动,启动快了至少一倍。文件列表加载从 5 秒降到 1 秒以内。

图片搬出 vault 的目录结构对比

  关掉不用的核心插件。

   Obsidian 自带一堆插件,但不是每个都要开。检查「设置 → 核心插件」,关掉从不用的:

   日记(不用就关)、幻灯片、发布服务、工作区、录音机、白板。

   关了 6 个,内存占用从 800MB 降到 500MB 左右。操作响应也跟着快了。

  第三方插件做减法。

   装过 30 多个插件,真正日常用的不超过 10 个。其余都是试过就扔在那的。

   逐个看了性能影响。几个比较吃资源的:Kanban(用 Dataview 替代)、Excalidraw(用时手动开)、Obsidian Git(改成一小时一次)。折中方案:保留 15 个插件,大部分关闭,只在需要时手动启用。

插件优化清单

  搜索范围要限制。

   Obsidian 默认搜全库。2.5 万文件全搜一遍,结果出来要等 3-5 秒。在「设置 → 搜索 → 排除文件」里加三条规则:.trash/.stversions/_sync_*——这几个目录加起来几千个文件,日常搜索用不上。加了排除后,搜索在 1 秒内出结果。

   另一个小技巧:用 path: 限定搜索范围。找笔记只搜「笔记/」,找技术文档只搜「资料库/」。path:笔记/ 关键词 比全局搜快得多。

搜索范围限制操作说明

  CSS 和主题精简一下。

   用了 Minimal 主题,本身优化不错。但插件装多了,CSS 加载会变慢。做了三件小事:关掉 Theme Styles 里不用的样式、自定义 CSS 片段从 12 个合并成 3 个、图片相关 CSS 加 max-width: 100%。编辑器打字延迟从偶尔能感觉到变成了完全消失。

  最后接受一个事实。

   2.5 万文件的 vault,不可能跟新建的空白 vault 一样快。目标是「日常操作不觉得卡」,不是「秒开秒响应」。

   现在日常用的场景:搜索文章(1 秒内)、打开笔记(0.5 秒)、切换文件夹(即时)、Dataview 查询(2-3 秒)。够用了。

   如果 vault 再翻倍,可能需要分库、归档旧文章、或者换更轻量的前端。那是以后的事。

   前几篇讲了知识库的搭建、维护、阅读、输出。这篇算是给大仓库用户的一个补充。系列暂时到这里,以后有新的实践心得再续。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部