Files
hair/docs/20260919-20_接口2空图失败统计.md

100 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-09-19~09-20 接口2 空图失败统计
- **统计窗口**:2026-09-19 00:00:00 ~ 2026-09-20 23:59:59(北京时间)
- **生成时间**:2026-09-21 10:45
## 1. 要抓的失败
接口2(`POST /api/v1/hair/grow`)在 GPU worker 内部出错时,仍返回 HTTP 200、`code=0`,只把 `grown_image_*` 置空。只看业务码会当成成功。
| 判定 | 条件 |
|------|------|
| **真成功(出图)** | `code=0` 且至少一张生发图非空 |
| **空图失败** | `code=0` 且有 `results`,但生发图全空 |
| **业务码失败** | `code≠0` |
抓取:jsonl 里看 `results[].grown_image_url|base64`;9/19 18:53 之前 jsonl 已轮转,用 journal 的 `base64→URL: grown_image_base64` 与 `POST /hair/grow` 次数对照(白天每小时 rewrite ≥ 请求数,说明在出图)。
空图耗时中位约 **2.2~2.5s**;正常出图中位约 **16~23s**。
## 2. 两天接口2 合计
| 类别 | 9/19 | 9/20 | 两天合计 |
|------|------|------|----------|
| 调用量 | 4,958 | 3,352 | **8,310** |
| 真成功(有生发图) | 1,968 | 701 | **2,669** |
| **空图失败** | **2,988** | **2,649** | **5,637** |
| 业务码失败 | 2 | 2 | 4 |
| 按业务码成功率 | 99.96% | 99.94% | 99.95% |
| **有效出图成功率** | **39.7%** | **20.9%** | **32.1%** |
9/19 调用量来自 journal(全日 4,958);空图 2,988 全部落在 jsonl 仍在的 18:53 之后,白天 journal 显示仍在出图,故空图数可视为全日完整。9/20 全日 jsonl。
把空图算失败后:两天有效成功 **2,669**,失败 **5,641**(空图 5,637 + 业务码 4)。
## 3. 连续故障段
不是两天各坏一段时间,而是**一段连续故障**:
| 节点 | 时间 |
|------|------|
| 9/19 白天~22:20 | 正常出图 |
| 9/19 **22:30** | 开始大量空图(该 10 分钟 165 次里 19 张有图、146 张空) |
| 9/19 **22:34:49** | 故障前最后一张生发图 |
| 9/19 22:40 ~ 9/20 13:36 | **全部空图** |
| 9/20 **13:36:54** | 恢复后第一张生发图 |
| 9/20 13:40 以后 | 基本正常(偶发单次空图) |
故障段内空图:
| 时段 | 空图次数 |
|------|----------|
| 9/19 22:30–22:39 | 146(另 19 次仍出图,过渡) |
| 9/19 22:40–24:00 | 2,835 |
| 9/20 00:00–13:36 | 2,625 |
| **连续故障空图合计** | **约 5,606** |
其中 9/20 00:00–00:50 有 2,127 次,来源 IP `47.93.63.201`(客户侧重试/批量)。
## 4. 按小时(接口2)
### 9/19
| 小时 | 调用 | 出图 | 空图 | 状态 |
|------|------|------|------|------|
| 00–21 | 1,840 | ≈1,832 | 7(零星) | 正常(journal + 18:53 后 jsonl) |
| 22 | 849 | 136 | 713 | 22:30 起故障 |
| 23 | 2,269 | 0 | 2,269 | 故障 |
18–21 点 jsonl 可核验:854 次出图、仅 7 次零星空图。
### 9/20
| 小时 | 调用 | 出图 | 空图 | 状态 |
|------|------|------|------|------|
| 00 | 2,127 | 0 | 2,127 | 故障 |
| 01–12 | 417 | 0 | 417 | 故障 |
| 13 | 125 | 32 | 93 | 13:36 恢复 |
| 14–18 | 354 | 354 | 0 | 正常 |
| 19–20 | 177 | 165 | 12 | 正常,少量单次空图 |
| 21–23 | 152 | 150 | 0 | 正常(另 2 次业务码失败) |
## 5. 9/20 其它接口(业务码,供对照)
| 接口 | 调用量 | `code=0` | 业务码失败 |
|------|--------|----------|------------|
| 接口1 四庭七眼 | 380 | 361 | 19 |
| 接口4 特征 | 347 | 345 | 2 |
| 接口99 特殊点 | 344 | 344 | 0 |
| 接口5 发际线 | 248 | 248 | 0(但 247 次无生发图,全天) |
| 接口6 测量 v2 | 105 | 75 | 30 |
9/20 按业务码成功率 98.89%,同样会漏掉接口2 空图。接口5 当天几乎也无生发图,主结论仍以接口2 为准。
## 6. 结论
1. 故障从 **9/19 22:30** 开始,到 **9/20 13:36** 结束,约 **15 小时**。
2. 两天空图失败 **5,637** 次(9/19 的 2,988 + 9/20 的 2,649),占两天接口2 的 **67.8%**。
3. 有效出图 **2,669** 次,有效成功率 **32.1%**;只看 `code=0` 则是 99.95%。
4. 9/19 白天(22:30 前)journal 显示仍在落盘生发图,空图集中在当晚 22:30 之后并跨到次日下午。