Commit ae793cfa by luoqi

docs(gap): 交互路径实测不劣化 + 生产/测试机配置差异(并发 1 vs 4)

parent 8a58bb72
Pipeline #3628 failed in 0 seconds
...@@ -449,3 +449,38 @@ reason 行级 diff(323,796 条):A↔B 10 行 / B↔C 3 行 / C↔D 2 行 / A↔D ...@@ -449,3 +449,38 @@ reason 行级 diff(323,796 条):A↔B 10 行 / B↔C 3 行 / C↔D 2 行 / A↔D
deploy-prod.sh 的文件头注释本来就写着"不信 compose 的 diff 启发式"、整套逻辑就是为了避开这些。 deploy-prod.sh 的文件头注释本来就写着"不信 compose 的 diff 启发式"、整套逻辑就是为了避开这些。
**改环境变量也要走部署脚本** —— 它多花的那几分钟构建时间,买的是不出这种事。 **改环境变量也要走部署脚本** —— 它多花的那几分钟构建时间,买的是不出这种事。
## 13. 交互路径(详情页「刷新」)—— 用户当场感受得到的那条
`plan.controller``recomputeForPatient`**HTTP 端点**,走的就是本套召回 SQL 的
单患者路径(`scope.patientId`)。之前只验了批量和画像,漏了它。
批量慢是运维问题,**这条慢是体验问题**
测试机(585K 患者,200 位样本 × 11 子场景 = 2,200 次比对):
| | legacy | setbased |
|---|---|---|
| 单子场景查询 p50 | 5ms | 4ms |
| 单子场景查询 p95 | 20ms | 17ms |
| **一次「刷新」(11 条合计)** | **89ms** | **75ms** |
| 结果 | — | ✅ **零差异** |
本地(30K)同向:一次刷新 103ms → 71ms,零差异。
结论:**交互路径不劣化**。⚠️ 每条查询仍是先 legacy 后 setbased,顺序偏袒后者,
所以只下「不劣化」的结论,不宣称快 15%。
## 14. 生产与测试机的配置差异(推算收益时必须带上)
| | 生产(friday) | 测试机 |
|---|---|---|
| `PAC_RECALL_SUBSCENARIO_CONCURRENCY` | **未设 → 默认 1(串行)** | **4** |
| `PAC_GAP_VARIANT` | 未设 → legacy | setbased(2026-08-30 起) |
| `PAC_PLAN_BATCH_CONCURRENCY` | 未设 → 默认 8 | 8 |
⚠️ **−31% 是在并发 4 上量的,生产是串行。** 倍数能否原样搬过去**没有生产实测**
两个旁证指向同一区间:按「逐查询耗时求和」(更接近串行形态)算,C→D 是 1736.5s → 1174.2s = **−32%**;
整轮墙钟 −22%。所以 **−20~32% 是一个有依据的区间,不是一个点估计**
上生产前应先跑**只读对拍**(`verify-gap-equivalence --host=jvs-dw`,不写库、不改配置),
确认生产数据分布上同样零差异 —— 生产与测试机的数据快照不是同一份。
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment