docs: record db-limited capacity findings

This commit is contained in:
Codex
2026-07-01 06:33:39 +08:00
parent 458c0be94f
commit a45a4f1a5b
7 changed files with 63 additions and 15 deletions

View File

@@ -75,4 +75,15 @@
当前本地结论:在受限 API 容器下,后端真实刷题读写链路的舒适观察区间约为 416 req/s折算约 2,080 到 8,330 名活跃在线学生100 worker 仍可用但 P95 已超过 400ms150 worker 仍 0 错误但 P95 已超过 600ms视为压力区不建议作为生产承诺。受限 API 容器会明显压低上沿,因此上线承诺仍以云端受限资源复测为准。
正式对外容量必须等 4 核 16G 云服务器部署后复跑。保守规划时,生产首版建议先按本地折算值的 30% 到 50% 做容量承诺,约 620 到 4,160 名活跃在线学生等云端压测、CDN、对象存储和真实前端埋点完成后再上调。
### 2026-07-01 Docker API + DB 显式受限复核
本轮使用同一压测入口,但显式设置 `BENCHMARK_LIMIT_DB_RESOURCES=true`API 容器限制为 2 CPU/4GSupabase PostgreSQL 容器限制为 2 CPU/8G`DB_POOL_MAX=10`。PostgreSQL 参数仍是本地默认值,没有应用 `docs/refactor/postgresql-4c16g-tuning.md` 的 shared-host profile。
| 场景 | 并发 worker | 时长 | 刷题写入比例 | 请求数 | 错误率 | 吞吐 | P95 | P99 | 结论 |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
| 只读上线门禁 | 30 | 120s | 0% | 8,029 | 0.00% | 66.50 req/s | 1188.62 ms | 1697.71 ms | 失败,延迟超过门禁 |
| 混合读写 | 50 | 60s | 10% | 7,088 | 0.00% | 115.82 req/s | 905.13 ms | 1211.98 ms | 失败,延迟超过观察线 |
| 混合读写 | 100 | 60s | 8% | 6,383 | 0.00% | 103.63 req/s | 1720.26 ms | 2101.02 ms | 压力区 |
| 混合读写 | 150 | 60s | 6% | 5,640 | 0.00% | 91.52 req/s | 2688.31 ms | 3284.99 ms | 压力区 |
这组结果说明:代码在更严格资源下仍保持 0 错误,但默认 PostgreSQL 参数无法支撑上线延迟门禁。正式对外容量必须等 4 核 16G 云服务器部署、PostgreSQL shared-host 调参、`pg_stat_statements` 和慢 SQL 观察完成后复跑。没有云端复测前,不再把本地 05:57 API-only 观察值当生产容量承诺只保留为乐观参考06:26 DB 受限结果则作为未调参下限参考。