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

4.0 KiB
Raw Permalink Blame History

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 之后并跨到次日下午。