# 最近一周接口调用统计 - **统计窗口**:2026-09-15 00:00:00 ~ 2026-09-21 10:13:00(北京时间,共 7 个自然日;21 日为截至上午的部分数据) - **统计对象**:网关 `hair.xiangsilian.com` 对外业务接口(`POST /api/v1/...`) - **不含**:健康检查、静态页、扫描探测(如 `GET /api/.env`) - **生成时间**:2026-09-21 10:13 ## 1. 口径 | 指标 | 定义 | |------|------| | 调用量 | 网关访问日志中,下列业务路径的完成次数 | | 业务成功 | HTTP 200 **且** 响应 JSON `code=0`(或无 `code`) | | 业务失败 | 非上述情况(含业务错误码 1001/1003/1008,以及 HTTP 405 等) | | HTTP 完成 | uvicorn 记录的 HTTP 200,**不区分**业务码 | `request_log.jsonl` 已轮转,**9/15–9/18 全日、9/19 白天**只剩 systemd journal,这些天的调用量按 journal 统计;业务成功率仅在仍保留 jsonl 的时段可精确计算(见第 4 节)。 业务接口清单: | 接口 | 路径 | |------|------| | 1 四庭七眼测量 | `/api/v1/face/measure` | | 2 C 端生发 | `/api/v1/hair/grow` | | 3 B 端生发 | `/api/v1/hair/grow-b` | | 4 用户特征分析 | `/api/v1/face/features` | | 5 发际线 PNG | `/api/v1/hairline/generate` | | 6 四庭七眼 v2 | `/api/v1/face/measure-v2` | | 7 C 端生发 v2 | `/api/v1/hair/grow-v2`(已弃用,基本无流量) | ## 2. 总览 | 项 | 数值 | |----|------| | 7 日合计调用量 | **20,104** | | 完整 6 日(9/15–9/20)合计 | **19,824** | | 完整 6 日日均 | **3,304** | | 峰值日 | **9/19(周六)8,234** | | 最低完整日 | **9/15(周二)1,258** | | 9/21 截至 10:13 | **280** | 主接口构成(7 日合计): | 接口 | 次数 | 占比 | |------|------|------| | 接口2 C 端生发 | 12,470 | 62.0% | | 接口4 特征分析 | 3,025 | 15.0% | | 接口1 四庭七眼 | 2,800 | 13.9% | | 接口5 发际线 | 1,243 | 6.2% | | 接口6 四庭七眼 v2 | 562 | 2.8% | | 接口3 / 接口7 等 | 4 | <0.1% | ## 3. 按日调用量 | 日期 | 星期 | 调用量 | 接口2 生发 | 接口4 特征 | 接口1 测量 | 接口5 发际线 | 接口6 测量v2 | 数据来源 | |------|------|--------|------------|------------|------------|--------------|--------------|----------| | 9/15 | 周二 | 1,258 | 643 | 171 | 174 | 170 | 100 | journal | | 9/16 | 周三 | 1,688 | 921 | 236 | 285 | 169 | 75 | journal | | 9/17 | 周四 | 1,789 | 1,069 | 254 | 232 | 183 | 51 | journal | | 9/18 | 周五 | 2,429 | 1,350 | 432 | 381 | 189 | 77 | journal | | 9/19 | 周六 | **8,234** | 4,959 | 1,531 | 1,302 | 287 | 153 | journal | | 9/20 | 周日 | 4,426 | 3,350 | 347 | 380 | 244 | 105 | jsonl / journal 互核 | | 9/21 | 周一 | 280 | 178 | 54 | 46 | 0 | 1 | journal(截至 10:13) | | **合计** | | **20,104** | **12,470** | **3,025** | **2,800** | **1,243** | **562** | | 9/16 另有接口3 共 2 次;9/19 有接口3、接口7 各 1 次(均为 405,见失败说明)。 工作日(9/15–9/18)在 1.3k~2.4k / 天,周六冲到 8.2k,周日回落到 4.4k,仍高于工作日。增量主要来自接口2。 ## 4. 成功率 分两层看:HTTP 几乎全部 200;**业务是否成功要以 `code=0` 为准**。 ### 4.1 HTTP 完成率(全窗口,journal) 20,104 次中 HTTP 200 为 **20,098**,**99.97%**。非 200 仅 **6 次 HTTP 405**(均为外部对业务路径发 GET,不是客户 POST)。 | 日期 | 调用量 | HTTP 200 | HTTP 成功率 | |------|--------|----------|-------------| | 9/15 | 1,258 | 1,258 | 100% | | 9/16 | 1,688 | 1,688 | 100% | | 9/17 | 1,789 | 1,789 | 100% | | 9/18 | 2,429 | 2,429 | 100% | | 9/19 | 8,234 | 8,228 | 99.93%(6 次 405) | | 9/20 | 4,426 | 4,426 | 100% | | 9/21 截至 10:13 | 280 | 280 | 100% | ### 4.2 业务成功率(`code=0`,jsonl 可核验时段) jsonl 当前只覆盖 **9/19 18:53 之后、9/20 全日、9/21 截至 10:13**,共 **9,720** 次: | 时段 | 调用量 | 业务成功 | 业务失败 | 业务成功率 | |------|--------|----------|----------|------------| | 9/19 18:53–24:00 | 5,011 | 4,991 | 20 | 99.60% | | 9/20 全日 | 4,432 | 4,379 | 53 | 98.80% | | 9/21 00:00–10:13 | 277 | 267 | 10 | 96.39% | | **可核验合计** | **9,720** | **9,637** | **83** | **99.15%** | 按接口(同一 jsonl 窗口): | 接口 | 调用量 | 业务成功 | 失败 | 成功率 | |------|--------|----------|------|--------| | 接口2 C 端生发 | 7,373 | 7,369 | 4 | 99.95% | | 接口5 发际线 | 354 | 353 | 1 | 99.72% | | 接口4 特征分析 | 670 | 661 | 9 | 98.66% | | 接口1 四庭七眼 | 1,157 | 1,120 | 37 | 96.80% | | 接口6 四庭七眼 v2 | 164 | 134 | 30 | 81.71% | 接口6 成功率偏低,失败几乎全是 `1003 角度问题,请上传正面照`(照片侧脸/角度,不是服务宕机)。接口1 同类原因也较多。 ### 4.3 可核验窗口内的失败原因(83 次) | 次数 | HTTP | 业务码 | 含义 | |------|------|--------|------| | 60 | 200 | 1003 | 角度问题,请上传正面照 | | 15 | 200 | 1001 | 无法识别人像 | | 6 | 405 | — | 对业务路径发 GET(扫描,非客户) | | 2 | 200 | 1008 | 图片下载失败或格式不支持 | 没有出现批量 `1007 后端服务暂不可用` / 排队超时。失败以**入图不合规**为主,不是网关或 GPU worker 整段掉线。 ## 5. 接口2:业务成功 ≠ 一定出了生发图 接口2 在 ComfyUI / change_hair 失败时仍返回 `code=0`,只是 `grown_image_*` 为 `null`(测试页会显示「ComfyUI 未就绪或生成失败」)。因此第 4 节的成功率**不能**当成「生发图都生成了」。 jsonl 可核验的接口2 出图情况: | 日期 | 接口2 次数 | 业务成功 | 含生发图 | 生发图为空 | |------|------------|----------|----------|------------| | 9/19 18:53 后 | 3,844 | 3,842 | 854 | 2,988 | | 9/20 | 3,352 | 3,350 | 701 | 2,649 | | 9/21 截至 10:13 | 178 | 178 | **178** | **0** | 9/19–9/20 大量请求只返回了发际线叠图、没有生发效果图(与当时 GPU 上 change_hair「用户图像加载失败」一致)。**9/21 上午接口2 已全部带生发图**。 ## 6. 数据来源与局限 - 调用量:`journalctl -u hair-gateway` 中 uvicorn 访问日志(`POST /api/v1/...`)。 - 业务码 / 失败原因 / 是否含 `grown_image`:`gateway/request_log.jsonl`(及 `.jsonl.1`)。轮转后目前最早一条为 **2026-09-19 18:53**。 - 9/15–9/18 没有业务码明细,不能把 HTTP 100% 等同于业务 100%。 - 接口4 在网关本机执行(豆包),不占 GPU worker;其余表内接口转发 worker。 --- *本文只做观测统计,不包含代码或配置变更。*