diff --git a/scripts/rpctl/README.md b/scripts/rpctl/README.md index 55bee88..3fbe4a0 100644 --- a/scripts/rpctl/README.md +++ b/scripts/rpctl/README.md @@ -17,6 +17,10 @@ ssh root@47.251.127.231 'cd /data/rpki_4rp_ctl && ./rpctl init \ `--rpki-prover-image` 是可选项;不配置时原有四款 RP 仍可运行,但启动 rpki-prover 会明确报错。配置后 `init` 会复制并加载离线镜像,校验宿主机和镜像均为 `amd64`,确认 tag 为 `rpki-prover:6857d4bf`、版本为 `rpki-prover-0.10.1`,并将 image ID 与 archive SHA-256 写入 `config.json`。运行时不会在线拉取镜像。 +## ours RP 默认同步并发 + +`ours` 和 `ours-no-cache` 两个 profile 都会显式传入 `--parallel-max-repo-sync-workers-global 8`,即默认使用 8 个全局仓库同步 worker。此设置只作用于 ours RP;Routinator、rpki-client 与 FORT 的运行参数保持不变。`show` 与 `view --command` 会在参数摘要中显示 `sync-workers=8`。 + ## 常用命令 ```bash diff --git a/scripts/rpctl/rpctl b/scripts/rpctl/rpctl index 39dcfba..532701f 100755 --- a/scripts/rpctl/rpctl +++ b/scripts/rpctl/rpctl @@ -415,6 +415,7 @@ def build_ours_args(profile: str, run_root: Path, run_dir: Path, state: Path, ri "--vrps-csv-out", str(run_dir / "vrps.csv"), "--vaps-csv-out", str(run_dir / "vaps.csv"), "--compare-view-trust-anchor", "all5" if len(rirs) > 1 else rirs[0], + "--parallel-max-repo-sync-workers-global", "8", "--parallel-phase2-ready-batch-size", "256", "--parallel-phase2-ready-batch-wall-time-budget-ms", "100", "--parallel-phase2-result-drain-batch-size", "2048", @@ -1270,6 +1271,10 @@ def parse_command_summary(command: str) -> str: keys.append(f"--rsync-scope={tokens[idx + 1]}") elif token.startswith("--rsync-scope="): keys.append(token) + elif token == "--parallel-max-repo-sync-workers-global" and idx + 1 < len(tokens): + keys.append(f"sync-workers={tokens[idx + 1]}") + elif token.startswith("--parallel-max-repo-sync-workers-global="): + keys.append(f"sync-workers={token.rsplit('=', 1)[1]}") if RPKI_PROVER_IMAGE_TAG in token_set: algorithm = "full-every-iteration" if "--no-incremental-validation" in token_set else "incremental" keys.append(f"algorithm={algorithm}") @@ -1868,6 +1873,10 @@ Cache difference for ours RP: --rp ours-no-cache does not add those flags. +Ours RP sync parallelism: + Both ours RP profiles explicitly use 8 global repository sync workers. + This setting does not change Routinator, rpki-client, or FORT parameters. + Typical usage: ./rpctl init --bundle /data/rpki_4rp_ctl_runtime_bundle \\ --rpki-prover-image /data/rpki-prover-6857d4bf-linux-amd64.docker.tar.gz @@ -1974,6 +1983,10 @@ Cache mapping: --rp ours enables PP cache + ROA cache + child certificate cache. --rp ours-no-cache disables those cache flags. +Ours RP sync workers: + Both ours profiles pass --parallel-max-repo-sync-workers-global 8. + This does not alter the parameters of Routinator, rpki-client, or FORT. + Safety: rpctl refuses to start a second RP while another rpctl runner is alive. """,