Git 读取并发限制

类似于Git 拉取并发限制read_concurrency键告诉 Antora 一次从多少个内容仓库(本地或托管)读取。该键有效地控制一次加载多少个 git 索引到内存中(git 索引是 git 仓库中文件的后备存储)。

只有在所有关于这些仓库的拉取/克隆操作完成后,Antora 才会读取仓库。因此,拉取和读取是分开的步骤。

默认读取并发

默认情况下,Antora 不限制读取并发(值为0),这意味着在扫描和收集文件时会一次性将所有仓库加载到内存中。一次性加载大量大型仓库可能会消耗大量内存。为了缓解这种情况,Antora 允许您调整读取并发限制。

读取并发不影响拉取并发或网络流量。

read_concurrency 键

可选的read_concurrency键设置在 playbook 中的git 类别下。该键接受正整数值或0表示无限制。

示例 1. antora-playbook.yml
git:
  read_concurrency: 4

当处理大量仓库时,最佳值通常在 2 到 5 之间。

read_concurrency键的目的是允许您控制从内容仓库读取文件时消耗的内存量。一旦 git 索引加载到内存中,Antora 使用无限并发读取每个引用的树以收集文件到内容目录的前身(创建内容目录是后续步骤)。

虽然剩余内存将等于所有收集的内容文件的大小,但包含这些文件的 git 索引可能会大得多。当文档与软件项目的源文件共存时,情况尤为突出。即使只有一小部分文件,Antora 也必须加载 git 索引。

通过限制并发操作的数量,您可能会发现减少内容聚合器完成所需的时间。这可能是因为 Antora 需要进行更少的上下文切换。您需要尝试不同的值,找到最适合您站点的设置。