=== 问题 === max_query_parallelism 原来是硬编码值,改过两轮(8 → 6): - 8:4 核机器上 76% 调度周期被限流,label values 要 20 秒 - 6:仍然高于核数,25% 周期限流,查询并没有更快 根因不是"该填几",而是**并行度只有一个正确值:等于 CPU 核数**。 把它做成可配置项反而是坑 —— 用户改了 CPU 忘了改并行度就出现错配。 === 做法 === 新增 queryParallelism(resourcesCPU): - 从部署记录的资源规格推导,模板渲染成 {{ .QueryParallelism }} - 容错:支持 "4000m"/"500m" 毫核写法(向上取整) - 边界:低于 2 核按 2,高于 12 核按 12(再高频只会互相抢 CPU) - 非法值/空值回退 4 用户在「组件部署」里改 CPU,并行度自动跟随,页面上不需要新字段。 === 实测(4 核 + 并行 4)=== by-app(15m) 11913ms 75 条序列 (并行 6 时 12438ms) label/namespace 38ms label/app 25ms label/pod 25ms 限流 61/252 周期(仅重查询那几秒) 附带 TestQueryParallelism 覆盖 10 种输入(含毫核/越界/非法值)。